Что нового

Как очистить слой в GDI+ так, чтобы на этом месте появился предыдущий слой

Max98

Новичок
Сообщения
45
Репутация
3
Здравствуйте. У меня появилась такая проблема. Мне нужно очистить слой в GDI+ так, чтобы на этом месте появился предыдущий слой. :scratch: Пытался решить проблему так:

Код:
; Окно
$hWindow = GUICreate("MyGUI", 800, 600)
GUISetState()

; Рисуем 1 слой
$hGraphics1 = _GDIPlus_GraphicsCreateFromHWND($hWindow)
$hFile = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Images\MyImage1.jpg")
_GDIPlus_GraphicsDrawImageRect($hGraphics1, $hFile, 0, 0, 0, 0)

; Ждём
Sleep(5000)

; Рисуем 2 слой
$hGraphics2 = _GDIPlus_GraphicsCreateFromHWND($hWindow)
$hFile = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Images\MyImage2.jpg")
_GDIPlus_GraphicsDrawImageRect($hGraphics2, $hFile, 0, 0, 0, 0)

; Ждём
Sleep(10000)

; Стираем последний (второй) слой
_GDIPlus_GraphicsClear($hGraphics)

Поиск по справке и форуму не помог. :(
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Код:
; Окно
$hWindow = GUICreate("MyGUI", 800, 600)
GUISetState()

$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hWindow)

$hLayer1 = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Images\MyImage1.jpg")
$hLayer2 = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Images\MyImage2.jpg")

; Рисуем 1 слой
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hLayer1, 0, 0, 0, 0)

; Ждём
Sleep(5000)

; Рисуем 2 слой
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hLayer2, 0, 0, 0, 0)

; Ждём
Sleep(10000)

; Стираем последний (второй) слой
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hLayer1, 0, 0, 0, 0)
 
Верх