Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
А так выведет?
code (Отобразить)CODE:#define SRCCOPY 13369376
external(INT, "LoadImage", "LoadImageA", "User32.dll" );
external(INT, "GetDC", "GetDC", "User32.dll" );
external(INT, "SelectObject", "SelectObject", "Gdi32.dll" );
external(INT, "CreateCompatibleDC", "CreateCompatibleDC", "Gdi32.dll" );
external(INT, "BitBlt", "BitBlt", "Gdi32.dll" );
external(INT, "GetObject", "GetObjectA", "Gdi32.dll" );
int c[6], hdc, bitmapHDC ,width, height;
win w=window (-1, "Notepad", -1); // окно, куда вывести картинку, если не найдено, то выведет поверх всех окон
int hBitmap=LoadImage(0, "C:\Безымянный.bmp", 0, 0, 0, 16); // загрузить картинку
if(hBitmap)
{
GetObject(hBitmap, sizearray(c)*4, address(#c[0])); // узнать размеры картинки
width=c[1]; height=c[2]; // ширина и высота картинки
hdc = GetDC(formatwi(w));
bitmapHDC = CreateCompatibleDC(hdc);
SelectObject(bitmapHDC, hBitmap);
loop()
{
BitBlt(hdc, 20, 10, width, height, bitmapHDC, 0, 0, SRCCOPY); // вывести картинку в координатах 20, 10
sleep(10);
}
}
else messagebox("Картинка не найдена");
Если надо выводить не 100% масштаб, то вместо BitBlt использовать StretchBlt. |