JPEG betöltése memóriából, array-ek másolása
2011-10-21T09:56:40+02:00
2011-10-21T12:02:05+02:00
2022-07-19T09:15:18+02:00
p_dany
Hello!

Delphiben szeretnék egy JPEG-et betölteni memóriából. TBitmap-nak találtam egy LoadFromStream metódusát, de nem működik, ha megpróbálom kimenteni (SaveToFile) a képet nem lesz a fájlban semmi(, a stream jól íródik ki fájlba). Jelenleg egy TMemoryStream-em van és azt kéne TBitmap-be vagy valamilyen kép objektumba berakni, hogy majd ki tudjam rakni az ablakra a képet.

Másik kérdés: egy byte tömböt kell bővítgetnem(amiből majd a jpg-t szedem ki), az alábbi módon:

buffer:array of byte; buffer_size:integer; procedure Add(data:array of byte;datalen:integer); begin // itt a buffer-be a buffer_size-adik elemtől be kell raknom a data-t datalen hosszal buffer_size:=buffer_size+datalen; end;

Ezt jelenleg for ciklusban bájtonként másolgatom. Az lenne a kérdésem, hogy van-e rá egyszerűbb/hatékonyabb mód. Van egy Copy függvény, de az nem alkalmas erre.
Mutasd a teljes hozzászólást!
És így:
stream.SaveToFile(...); jpgimg:=TJpegImage.Create(); //!!!!!!!!! Stream.Position := 0; //!!!!!!!!! jpgimg.LoadFromStream(stream); jpgimg.SaveToFile(...);
Mutasd a teljes hozzászólást!

abcd