musicstashall
Знающий
- Сообщения
- 322
- Репутация
- 7
Всем доброго. Помогите создать такой фон, который используется в фотошопе в виде клеточек, чтобы можно было оценивать уровень прозрачности и тд. Пробую сделать что-то подобное из того, что предоставлено в справке, но это не работает:
Если рисовать шашечки на окне, то рисуются, но тогда Pic перекрывает их естественно. Нужно создать рект с шашечками и вставить их как слой в Pic.
Код:
_GDIPlus_Startup()
$hImage = _GDIPlus_BitmapCreateFromScan0($W - 18, $H - 18)
$hGraphics = _GDIPlus_ImageGetGraphicsContext($hImage)
$hBrush = _GDIPlus_BrushCreateSolid('0xFF' & $HigtColor)
_GDIPlus_GraphicsFillRect($hGraphics, 0, 0, $W - 18, $H - 18, $hBrush)
_GDIPlus_BrushSetSolidColor($hBrush, '0xFF' & $LigtColor)
_GDIPlus_GraphicsFillRect($hGraphics, 1, 1, $W - 20, $H - 20, $hBrush)
; здесь нужно создать рект с кистью «шашечка»
; пробую по примеру из справки:
$hBrush = _GDIPlus_BrushCreateSolid(0xFFAFEEEE)
$hPath1 = _GDIPlus_PathCreate() ;Create new path object
For $i = 1 To _BigNum_Round(($H - 18)/20, 0)
_GDIPlus_PathAddRectangle($hPath1, 20 * $i, 10, 10, $H - 18)
Next
$hPath2 = _GDIPlus_PathCreate() ;Create new path object
For $i = 1 To _BigNum_Round(($W - 18)/20, 0)
_GDIPlus_PathAddRectangle($hPath2, 10, 20 * $i, $W - 18, 10)
Next
_GDIPlus_PathAddPath($hPath1, $hPath2)
$hMatrix = _GDIPlus_MatrixCreate()
_GDIPlus_MatrixTranslate($hMatrix, $X+1, $Y+1)
_GDIPlus_PathTransform($hPath1, $hMatrix)
_GDIPlus_GraphicsFillPath($hGraphics, $hPath1, $hBrush)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
GUICtrlCreatePic("", $X + 9, $Y + 9, $W - 18, $H - 18)
GUICtrlSendMsg(-1, 0x0172, 0, $hBitmap)
Если рисовать шашечки на окне, то рисуются, но тогда Pic перекрывает их естественно. Нужно создать рект с шашечками и вставить их как слой в Pic.