Что нового

Не работает функция _GDIPlus_BitmapCloneArea при параметре $GDIP_PXF16GRAYSCALE

edyapd

Осваивающий
Сообщения
380
Репутация
30
Пример из справки
Код:
#include <GDIPlus.au3>
#include <ScreenCapture.au3>

_Main()

Func _Main()
    Local $hBitmap, $hClone, $hImage, $iX, $iY
	Local $iFormat
     ; Инициализация библиотеки GDI+
     _GDIPlus_StartUp ()

     ; Capture 32 bit bitmap
     $hBitmap = _ScreenCapture_Capture ("")
     $hImage = _GDIPlus_BitmapCreateFromHBITMAP ($hBitmap)

     ; Create 24 bit bitmap clone
     $iX = _GDIPlus_ImageGetWidth ($hImage)
     $iY = _GDIPlus_ImageGetHeight ($hImage)
	 $iFormat = $GDIP_PXF16RGB555		; С этим форматом работает
;~ 	 $iFormat = $GDIP_PXF16GRAYSCALE	; А с этим и ниже уже нет
     $hClone = _GDIPlus_BitmapCloneArea ($hImage, 0, 0, $iX, $iY, $iFormat)
	 If $hClone = 0 Then
		 ConsoleWrite('Ошибка' & @LF)
		 Exit
	 EndIf

     ; Save bitmap to file
     _GDIPlus_ImageSaveToFile ($hClone, "GDIPlus_Image.bmp")

     ; Очищает ресурсы
     _GDIPlus_ImageDispose ($hClone)
     _GDIPlus_ImageDispose ($hImage)
     _WinAPI_DeleteObject ($hBitmap)

     ; Закрывает библиотеку GDI+
     _GDIPlus_ShutDown ()

EndFunc   ;==>_Main
В тоже время в примере поиска bmp с изменением глубины цвета: Ответ #3 у InnI приведён $GDIP_PXF04INDEXED
В чём может быть проблема?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Re: Не работает функция _GDIPlus_BitmapCloneArea из справки

У вас пример из справки в чистом виде работает?
 
Автор
E

edyapd

Осваивающий
Сообщения
380
Репутация
30
Re: Не работает функция _GDIPlus_BitmapCloneArea из справки

Так как он дан в примере, да, работает.
Но при изменение всего одного параметра $iFormat, работать перестаёт.
Код из первого сообщения только этим и отличается от примера в справке. Специально там сделал комментарии.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Re: Не работает функция _GDIPlus_BitmapCloneArea из справки

edyapd сказал(а):
Так как он дан в примере, да, работает.
Так позвольте спросить, какого вы тут создаете темы с подобными названиями и вводите пользователей в заблуждение? Название темы должно быть прозрачным, четко описывать суть проблемы и не содержать в себе никакой интриги.
 
Автор
E

edyapd

Осваивающий
Сообщения
380
Репутация
30
Re: Не работает функция _GDIPlus_BitmapCloneArea из справки

Yashied, мне кажется я задал чёткий вопрос. Откройте код в первом сообщении и посмотрите две строки с комментариями. Если есть желание помочь, то просто скопируйте и раскомментируйте строку и проверьте. Я же не написал, что не работает Пример из справки. А функция, я считаю, должна работать со всеми параметрами. У меня она не работает. Где и что я заитриговал?
Windows XP SP2

P.S. Изменил название темы
 
Верх