![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отображение 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]Вопрос в том, как отобразить изображение правильно?