Jak dodać i odczytać z zasobów JPEG, GIF

lofix

Pliki te dodajemy jako RCDATA. Więc otwórz notatnik i wpisz do niego np.:

obrazek1 RCDATA twojobraz.jpg
obrazek2 RCDATA twojobraz.gif

Zapisz(najlepiej w katalogu projektu) jako costam.rc. Następnie używając kompilatora zasobów o nazwie brcc32.exe, znajdującego się w katalogu $DELPHI$\Bin, kompilujemy:
brcc32 costam
Otrzymamy plik costam.res, który trzeba połączyć z naszym projektem, więc wpisujemy w pliku np. *.dpr {$R costam.res}. Teraz odczytamy te pliki. Pokażę jedynie JPEG, z GIF jest analogicznie. Zrobimy to przez czytanie ze strumienia:

procedure TForm1.Button1Click(Sender: TObject);
var
zasoby: TResourceStream;
begin
zasoby :=TResourceStream.Create(hinstance, 'obrazek1', RT_RCDATA);
 //tworzymy strumień
Image1.Picture.Graphic := TJPEGImage.Create; //tworzymy obraz
image1.Picture.Graphic.LoadFromStream(zasoby);  //ładujemy
zasoby.free; //zwalniamy
end;

Zobacz też:

6 komentarzy

Dzięki wielkie, wsio śmiga :D

lofix dnia 09-06-2003
ale ja ciebie zupełnie nie rozumiem....

Mam na myśli typy JPEG oraz GIF

Wotek: Naprawde niemam nigdzie tego pliku, ale mam za to visual c++, i tym sobie skompilowałem. Działa.
Lofix: może powinieneś dodać że, aby wyświetlić plik jpg to do uses należy dopisać: JPEG, ktoś może sie nie domyślić

Japcok, kompilator zasobów masz dokładnie w tym samym miejscu, gdzie siedzi plik delphi32.exe

hmmm, ja niemam nigdzie pliku: brcc32.exe co robić ? :)

ale ja ciebie zupełnie nie rozumiem....