Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2009.05.03;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по JPEG из DLL   Найти похожие ветки 

 
kas86   (2007-10-28 11:57) [0]

Вот например Bitmap file выташить из dll можно вот так
var
 AModule: THandle;
begin
 AModule := LoadLibrary("graphics.dll");
 image1.Picture.BitMap.LoadFromResourceName(AModule, "police");
 FreeLibrary(AModule);

Вопрос: А КАК ВЫТАЩИТЬ из тойже dll JPEG картинку??????


 
MBo ©   (2007-10-28 12:02) [1]

TJpegImage.LoadFromStreaam + TResourceStream


 
kas86   (2007-10-28 12:50) [2]

Хорошо, теоретически выглядить должно вроде как так?????

JPG: TJEPEGImage;
RS: TSesourceStream;

begin
JPG:=JPG.Create;
RS:=TResourceStream.Create(hInstance, PChar(copy("graphics.dll", 1, Pos(".", "graphics.dll")-1)), "poljpg"); -- вот тута у меня проблема, не могу додумать программа выдает Reource graphics not found
JpG.LoadFromStreaam(RS);
Image.Picture.Assign.(JPG);

где poljpg - сама картинка Жпег вшитая в длл

Помогите дописать правильно


 
kas86   (2007-10-28 16:19) [3]

Ура разобрался самостоятельно! Перелопатив кучу форумов и исходников, на которых ничего не работает, втретил такую же кучу людей с такой же проблемой. Так вот :  КАК СОЗДАТЬ DLL-БИБЛИОТЕКУ И ИЗВЛЕЧЬ ИЗ НЕЁ JPEG НЕ РАСПАКОВЫВЫЯ НА ДИСК. (админ, можете добавить в faq)

1. Создаём файл graphics.rc
2. Пишем туда kartinka JPG kartinka.jpg (jpg и rc файлы в одном каталоге)
3. запускаем borland\delphi7\bin\brcc32.exe с параметром graphics.rc
4. Получив graphics.res в делфи создаем DLL Wizard
5. Дописываем после USES, строчку {$R graphics.res} и компилируем.
6. Получив graphics.dll кладем его в папку с разрабатываемой программой и пишем код куда вам надо:

var
RS: TResourceStream;
JPG: TJPEGImage;
AModule: THandle;
begin
AModule:=LoadLibrary("graphics.dll");
RS:=TResourceStream.Create(AModule, "kartinka", "JPEG");
JPG:=TJPEGImage.Create;
JPG.LoadFromStream(RS);
Image1.Picture:=nil;
Image1.Picture.Assign(JPG);
JPG.Free;
RS.Free;

Остаётся только расставить как вам надо try except. С битмапами проще - код расписан выше. Теоретически можно в длл зашить и мета файлы и т.д.
Спасибо MBo за то что указал на правильный путь.


 
homm ©   (2007-10-28 16:22) [4]

> Image1.Picture:=nil;
> Image1.Picture.Assign(JPG);

Ты уверен, что ЭТО работает?


 
Dimaxx ©   (2007-10-28 17:04) [5]

Насколько я представляю, должно быть так:

Image1.Picture.Bitmap.Assign(JPG.Bitmap);


 
antonn ©   (2007-10-28 17:16) [6]

ага, как раз в битмап jpg грузить...


 
kas86   (2007-10-28 17:54) [7]

ЕЩЁ ОДИН МОМЕНТ

Если в файле graphics.rc мы пишем kartinka JPG kartinka.jpg то и вдальнейшем
когда пишем программный код надо писать

RS:=TResourceStream.Create(AModule, "kartinka", "JPG"); а не JPEG, но у меня и так всё работало, главное чтоб в USES было прописано JPEG


 
MetalFan ©   (2007-10-30 13:39) [8]


> Ура разобрался самостоятельно!

так тебе же сказали в [1]



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

Форум: "Media";
Текущий архив: 2009.05.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
6-1202811616
Doomer
2008-02-12 13:20
2009.05.03
NetBios


15-1235938120
@!!ex
2009-03-01 23:08
2009.05.03
Особенности продажи софта на запад.


2-1237472358
Alex_C
2009-03-19 17:19
2009.05.03
Размер страницы принтера....


2-1238013715
mreg
2009-03-25 23:41
2009.05.03
Не удается вывести изображение на форму Без VCL!


15-1236046360
Городской Шаман
2009-03-03 05:12
2009.05.03
больше скорости света





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский