Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: CL | DM;

Вниз

Ресурсы, JPEG и TImage   Найти похожие ветки 

 
X9   (2004-04-25 07:39) [0]

В ресурсах моей программы находится JPEG-рисунок, мне необходимо отобразить его в TImage без сохранения на диск. При использовании следующего кода вылетает AV:


{В uses присутствует модуль Jpeg, в ресурсах программы имеется ресурс RESIMG типа MYJPEG, созданный путем компиляции следующего RС-файла:
--------------------------
RESIMG MYJPEG "myjpeg.jpg"
--------------------------}

{$R myres.res}
 
var Img: TImage;
   RS: TResourceStream;
   MS: TMemoryStream;

begin
Img := TImage.Create(Self);
RS := TResourceStream.Create(hInstance, "RESIMG", "MYJPEG");
MS := TMemoryStream.Create;
MS.LoadFromStream(RS);
Img.Picture.Graphic.LoadFromStream(MS); //Здесь вылетает AV
RS.Free;
MS.Free;


А при выполнении следующего кода не происходит ничего, TImage - пустой:


{$R myres.res}
var Img: TImage;
   JImg: TJpegImage;
   RS: TResourceStream;
   MS: TMemoryStream

begin
Img := TImage.Create(Self);
JImg := TJpegImage.Create;
RS := TResourceStream.Create(hInstance, "RESIMG", "MYJPEG");
MS := TMemoryStream.Create;
MS.LoadFromStream(RS);
JImg.LoadFromStream(MS);
Img.Picture.Bitmap.Assign(JImg);
RS.Free;
MS.Free;
JImg.Freee;
end;


Причём при сохранении JPeg-рисунка из ресурса на диск и последующей его загрузке с небольшой доработкой работают оба метода. Подскажите пожалуйста, как мне быть.


 
Mim1 ©   (2004-04-25 11:26) [1]

попробуйте в первом случаем вмечто MS.LoadFromStream(RS);
вызывать ms.copyfrom, после чего устанавливайте позицию в 0
ms.position := 0;
Проверьте существует ли обьект graphic те Img.Picture.Graphic <> nil. Если не то его нада дополнительно инициализировать.


 
Алхимик ©   (2004-04-26 21:57) [2]

Рекомендую:
Как включить JPG-файл внутрь exe-файла?
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988625327&n=21


 
X9   (2004-04-27 17:02) [3]

Всем большое спасибо!



Страницы: 1 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
3-1087221695
denis24
2004-06-14 18:01
2004.07.11
Помогите с навернутым запросом


6-1084457382
perec
2004-05-13 18:09
2004.07.11
Посылка потоков через сокеты.


14-1087802855
Layner
2004-06-21 11:27
2004.07.11
Скандалы вокруг трансплантологии..


1-1088177777
Lexa
2004-06-25 19:36
2004.07.11
как сделать текст в виде ссылки


1-1088228074
dreams
2004-06-26 09:34
2004.07.11
Проблема с юниктом HSAdvApi , где его взять ?