maison
Top.Mail.Ru Yandeks.Metrika
Forum: "Main";
Archive actuelle: 2002.01.08;
Télécharger: [xml.tar.bz2];

vers le bas

Загрузка файла JPG в Image Trouver des branches similaires


Angel S   (2001-12-15 23:04) [0]

Можно ли загрузить изображение в Jpg из файла ресурсов в Image...
Если можно, то как???



Virtualik   (2001-12-15 23:53) [1]


Procedure LoadJPEGFromRes(TheJPEG : string; var ThePicture : TPicture);
var
ResHandle : THandle;
MemHandle : THandle;
MemStream : TMemoryStream;
ResPtr : PByte;
ResSize : Longint;
JPEGImage : TJPEGImage;
begin
ResHandle := FindResource(hInstance, PChar(TheJPEG), "JPEG");
MemHandle := LoadResource(hInstance, ResHandle);
ResPtr := LockResource(MemHandle);
MemStream := TMemoryStream.Create;
JPEGImage := TJPEGImage.Create;
ResSize := SizeOfResource(hInstance, ResHandle);
MemStream.SetSize(ResSize);
MemStream.Write(ResPtr^, ResSize);
FreeResource(MemHandle);
MemStream.Seek(0, 0);
JPEGImage.LoadFromStream(MemStream);
ThePicture.Assign(JPEGImage);
JPEGImage.Free;
MemStream.Free;
end;



Angel S   (2001-12-16 13:00) [2]

Выдает ошибку JPEG error #41
В чем может быть ошибка???



Мефодий   (2001-12-16 22:42) [3]

Привожу кусок кода из своей программы, где из файла ресурсов Myres.rc с Jpeg файлом вытаскиваю картинку:

procédure TMyForm.FormCreate (Sender: TObject);
var temp_jpeg: TJPEGImage;
ResStream : TResourceStream;
commencer
.....
temp_jpeg := TJpegImage.Create;
ResStream := TResourceStream.CreateFromID(HInstance,1,RT_RCDATA);
temp_jpeg.LoadFromStream(ResStream);
.....
temp_jpeg.Free;
ResStream.Free;
.....
fin;

Буду рад, если помог чем-нибудь.

PS
Содержимое файла Myres.rc

1 RCDATA "Myimage.jpg"
.......



Angel S   (2001-12-17 16:52) [4]

Я подключаю откомпелированный файл ресурсов(res), а rc не могу подключить, т.к. он говорит, что не поддерживает 16-разрядные файлы ресурсов....
Подключаю с помощью
{$R Myres.rc}



Angel S   (2001-12-17 16:53) [5]

при подключении MyRes.res выскакивает ошибка в этой строке:
ResStream := TResourceStream.CreateFromID(HInstance,1,RT_RCDATA);



Dimka Maslov   (2001-12-17 17:02) [6]

Dans le formulaire
procedure TAboutForm.FormCreate(Sender: TObject);
var
RS: TResourceStream;
JP: TJPEGImage;
begin
RS:=nil; JP:=nil;
try
RS:=TResourceStream.Create(hInstance, "ABOUT", "JPEG");
JP:=TJPEGImage.Create;
JP.LoadFromStream(RS);
JP.DIBNeeded;
Image.Picture.Bitmap.Assign(JP);
finally
RS.Free;
JP.Free;
end;
end;


В rc-файле
ABOUT JPEG ABOUT.JPG

Добавлять rc-файл к проекту надо через меню Project>Add To Project



Angel S   (2001-12-18 19:58) [7]

Все заработало... Спасибо большое!!!



Pages: 1 branche entière

Forum: "Main";
Archive actuelle: 2002.01.08;
Télécharger: [xml.tar.bz2];

à l'étage









Mémoire: 0.83 MB
Heure: 0.041 c
3-21904
Andrew
2001-11-29 22:18
2002.01.08
question


6-22273
Denis Titov
2001-10-06 11:50
2002.01.08
Construire des réseaux locaux


1-22229
Homme en rouge
2001-12-16 14:31
2002.01.08
Encore une question liée à RichEdit!


1-22178
Anastasia
2001-12-15 21:38
2002.01.08
Besoin d'informations!


4-22461
ShaH
2001-10-29 11:08
2002.01.08
problème avec LogonUser (ERROR_PRIVILEGE_NOT_HELD)





afrikaans albanais Arabic arménien azerbaïdjanais basque Biélorusse Bulgare catalan Chinois simplifié) Chinois (traditionnel) croate Tchèque Danois Néerlandais English estonien Filipino Finlandais Français
galicien géorgien Allemand Grecque Créole haïtien hébreu Hindi Hongrois Islandais Indonesian irlandais Italien Japonais Coréen letton lituanien macédonien Malay maltais Norvégien
persan Polonais Portugais roumain Russe serbe Slovaque Slovène Espagnol Swahili Suédois Thai turc ukrainien Urdu vietnamien gallois yiddish bengali bosniaque
Cebuano espéranto gujarati Hause hmong Igbo Javanais Kannada Khmer lao latin maori Marathi mongol népalais punjabi somali tamil telugu yoruba
zoulou
Английский Français Allemand Italien Португальский Русский Espagnol