Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отображение jpeg [D7, Win2k, WinXP]


Dmitry S ©   (2007-10-11 03:52:00) 

Пытаюсь отображить jpeg:

uses ActiveX;
...
function OleLoadPictureFile(varFileName: OleVariant;
 var lpdispPicture: IDispatch): HResult; stdcall;
 external 'oleaut32.dll' name 'OleLoadPictureFile';
{OleLoadPictureFile в ActiveX объявлена ошибочно}
...
var PicD:IPictureDisp;
   P:IPicture;
   w, h:integer;
   dc:HDC;
   R:TRect;
begin
 OleLoadPictureFile('splash.jpg', IDispatch(PicD));
 PicD.QueryInterface(IPicture, P);
 dc := GetDC(0);
 R := Rect(0,0,320,240);
 P.get_Width(w);
 P.get_Height(h);
 P.Render(dc, 0, 0, 320, 240, 0, 0, w, h, R);
end;


Изображение выводит, но, почему-то, отраженное по вертикали.

Другого "дешевого" способа, как через Ole, отобразить я не нашел.


Dmitry S   (2007-10-11 17:33:00) [1]


> Sapersky   (11.10.07 15:53) [3]

работает, что странно...

благодарю!


Sapersky   (2007-10-11 15:53:00) [2]

P.Render(dc, 0, 0, 320, 240, 0, h, w, -h, R);


Dib@zol   (2007-10-11 09:09:00) [3]

Render -> BitBLT?


Dmitry S   (2007-10-11 03:53:00) [4]

Вопрос в том, как отобразить изображение правильно?


Наверх

Титульная страница Поиск, карта сайта Написать письмо