Форум: "Основная";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
ВнизЗагрузка файла JPG в Image Найти похожие ветки
← →
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 файлом вытаскиваю картинку:
procedure TMyForm.FormCreate(Sender: TObject);
var temp_jpeg: TJPEGImage;
ResStream : TResourceStream;
begin
.....
temp_jpeg := TJpegImage.Create;
ResStream := TResourceStream.CreateFromID(HInstance,1,RT_RCDATA);
temp_jpeg.LoadFromStream(ResStream);
.....
temp_jpeg.Free;
ResStream.Free;
.....
end;
Буду рад, если помог чем-нибудь.
P.S.
Содержимое файла 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]В форме
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]Все заработало... Спасибо большое!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c