Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.46 MB
Время: 0.007 c
3-21993
Кнопка
2001-12-07 09:23
2002.01.08
Поиск в базе данных (Очень срочно!!!)


7-22419
Пастор
2001-09-21 10:31
2002.01.08
У меня Celeron 800 стоит ли его апгрейтить на Pentium III 800 ?


14-22363
Дремучий
2001-11-02 18:16
2002.01.08
Ну и ...?


1-22253
Yakudza
2001-12-17 14:34
2002.01.08
Как в Паскале вычислить факториал ?


4-22484
TroJan
2001-11-03 19:56
2002.01.08
Как можно загрузить свой курсор в дельфи!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский