Have you tried it ?SeregaZ wrote:i think
Box(CurIconx8X*5, CurIconx8Y*5, 5, 5, ColorArr(palitranum)\colornum[IcEdColor-1]|$FF000000)
can help, but probably is not...
You might need DrawingMode(Mode) as well to change the drawing mode.
Have you tried it ?SeregaZ wrote:i think
Box(CurIconx8X*5, CurIconx8Y*5, 5, 5, ColorArr(palitranum)\colornum[IcEdColor-1]|$FF000000)
can help, but probably is not...
Code: Select all
Enumeration
#Window
#GFXEditorMAINEditGad
#GFXEditorMAINEditImage
#GFXEditorGrid
EndEnumeration
Structure colorarraystr
Array Y.l(23)
EndStructure
Global Dim ColorCoordSoloImg.colorarraystr(15)
ColorCoordSoloImg(0)\Y(0) = 16711935
ColorCoordSoloImg(0)\Y(1) = 16711935
ColorCoordSoloImg(0)\Y(2) = 16711935
ColorCoordSoloImg(0)\Y(3) = 16711935
ColorCoordSoloImg(0)\Y(4) = 16711935
ColorCoordSoloImg(0)\Y(5) = 16711935
ColorCoordSoloImg(0)\Y(6) = 16711935
ColorCoordSoloImg(0)\Y(7) = 16711935
ColorCoordSoloImg(0)\Y(8) = 16711935
ColorCoordSoloImg(0)\Y(9) = 16711935
ColorCoordSoloImg(0)\Y(10) = 16711935
ColorCoordSoloImg(0)\Y(11) = 16711935
ColorCoordSoloImg(0)\Y(12) = 16711935
ColorCoordSoloImg(0)\Y(13) = 16711935
ColorCoordSoloImg(0)\Y(14) = 16711935
ColorCoordSoloImg(0)\Y(15) = 16711935
ColorCoordSoloImg(0)\Y(16) = 16711935
ColorCoordSoloImg(0)\Y(17) = 16711935
ColorCoordSoloImg(0)\Y(18) = 16711935
ColorCoordSoloImg(0)\Y(19) = 16711935
ColorCoordSoloImg(0)\Y(20) = 16711935
ColorCoordSoloImg(0)\Y(21) = 16711935
ColorCoordSoloImg(0)\Y(22) = 16711935
ColorCoordSoloImg(0)\Y(23) = 16711935
ColorCoordSoloImg(1)\Y(0) = 16711935
ColorCoordSoloImg(1)\Y(1) = 16711935
ColorCoordSoloImg(1)\Y(2) = 16711935
ColorCoordSoloImg(1)\Y(3) = 16711935
ColorCoordSoloImg(1)\Y(4) = 16711935
ColorCoordSoloImg(1)\Y(5) = 16711935
ColorCoordSoloImg(1)\Y(6) = 16711935
ColorCoordSoloImg(1)\Y(7) = 16711935
ColorCoordSoloImg(1)\Y(8) = 0
ColorCoordSoloImg(1)\Y(9) = 0
ColorCoordSoloImg(1)\Y(10) = 0
ColorCoordSoloImg(1)\Y(11) = 0
ColorCoordSoloImg(1)\Y(12) = 0
ColorCoordSoloImg(1)\Y(13) = 0
ColorCoordSoloImg(1)\Y(14) = 16711935
ColorCoordSoloImg(1)\Y(15) = 16711935
ColorCoordSoloImg(1)\Y(16) = 16711935
ColorCoordSoloImg(1)\Y(17) = 16711935
ColorCoordSoloImg(1)\Y(18) = 16711935
ColorCoordSoloImg(1)\Y(19) = 16711935
ColorCoordSoloImg(1)\Y(20) = 16711935
ColorCoordSoloImg(1)\Y(21) = 16711935
ColorCoordSoloImg(1)\Y(22) = 16711935
ColorCoordSoloImg(1)\Y(23) = 16711935
ColorCoordSoloImg(2)\Y(0) = 16711935
ColorCoordSoloImg(2)\Y(1) = 16711935
ColorCoordSoloImg(2)\Y(2) = 16711935
ColorCoordSoloImg(2)\Y(3) = 16711935
ColorCoordSoloImg(2)\Y(4) = 16711935
ColorCoordSoloImg(2)\Y(5) = 16711935
ColorCoordSoloImg(2)\Y(6) = 16711935
ColorCoordSoloImg(2)\Y(7) = 0
ColorCoordSoloImg(2)\Y(8) = 2359296
ColorCoordSoloImg(2)\Y(9) = 2359296
ColorCoordSoloImg(2)\Y(10) = 14370816
ColorCoordSoloImg(2)\Y(11) = 14370816
ColorCoordSoloImg(2)\Y(12) = 14370816
ColorCoordSoloImg(2)\Y(13) = 2359296
ColorCoordSoloImg(2)\Y(14) = 0
ColorCoordSoloImg(2)\Y(15) = 0
ColorCoordSoloImg(2)\Y(16) = 16711935
ColorCoordSoloImg(2)\Y(17) = 16711935
ColorCoordSoloImg(2)\Y(18) = 16711935
ColorCoordSoloImg(2)\Y(19) = 16711935
ColorCoordSoloImg(2)\Y(20) = 16711935
ColorCoordSoloImg(2)\Y(21) = 16711935
ColorCoordSoloImg(2)\Y(22) = 16711935
ColorCoordSoloImg(2)\Y(23) = 16711935
ColorCoordSoloImg(3)\Y(0) = 16711935
ColorCoordSoloImg(3)\Y(1) = 4727844
ColorCoordSoloImg(3)\Y(2) = 4727844
ColorCoordSoloImg(3)\Y(3) = 4727844
ColorCoordSoloImg(3)\Y(4) = 4727844
ColorCoordSoloImg(3)\Y(5) = 4727844
ColorCoordSoloImg(3)\Y(6) = 4727844
ColorCoordSoloImg(3)\Y(7) = 4727844
ColorCoordSoloImg(3)\Y(8) = 4727844
ColorCoordSoloImg(3)\Y(9) = 14370816
ColorCoordSoloImg(3)\Y(10) = 16776960
ColorCoordSoloImg(3)\Y(11) = 16776960
ColorCoordSoloImg(3)\Y(12) = 16776960
ColorCoordSoloImg(3)\Y(13) = 14370816
ColorCoordSoloImg(3)\Y(14) = 14370816
ColorCoordSoloImg(3)\Y(15) = 2359296
ColorCoordSoloImg(3)\Y(16) = 0
ColorCoordSoloImg(3)\Y(17) = 16711935
ColorCoordSoloImg(3)\Y(18) = 16711935
ColorCoordSoloImg(3)\Y(19) = 16711935
ColorCoordSoloImg(3)\Y(20) = 16711935
ColorCoordSoloImg(3)\Y(21) = 16711935
ColorCoordSoloImg(3)\Y(22) = 16711935
ColorCoordSoloImg(3)\Y(23) = 16711935
ColorCoordSoloImg(4)\Y(0) = 0
ColorCoordSoloImg(4)\Y(1) = 16777215
ColorCoordSoloImg(4)\Y(2) = 11899281
ColorCoordSoloImg(4)\Y(3) = 16777215
ColorCoordSoloImg(4)\Y(4) = 16777215
ColorCoordSoloImg(4)\Y(5) = 16777215
ColorCoordSoloImg(4)\Y(6) = 11899281
ColorCoordSoloImg(4)\Y(7) = 16777215
ColorCoordSoloImg(4)\Y(8) = 16777215
ColorCoordSoloImg(4)\Y(9) = 2359296
ColorCoordSoloImg(4)\Y(10) = 16777215
ColorCoordSoloImg(4)\Y(11) = 0
ColorCoordSoloImg(4)\Y(12) = 16776960
ColorCoordSoloImg(4)\Y(13) = 16776960
ColorCoordSoloImg(4)\Y(14) = 14370816
ColorCoordSoloImg(4)\Y(15) = 14370816
ColorCoordSoloImg(4)\Y(16) = 2359296
ColorCoordSoloImg(4)\Y(17) = 0
ColorCoordSoloImg(4)\Y(18) = 16711935
ColorCoordSoloImg(4)\Y(19) = 16711935
ColorCoordSoloImg(4)\Y(20) = 16711935
ColorCoordSoloImg(4)\Y(21) = 16711935
ColorCoordSoloImg(4)\Y(22) = 16711935
ColorCoordSoloImg(4)\Y(23) = 16711935
ColorCoordSoloImg(5)\Y(0) = 0
ColorCoordSoloImg(5)\Y(1) = 4727844
ColorCoordSoloImg(5)\Y(2) = 4727844
ColorCoordSoloImg(5)\Y(3) = 4727844
ColorCoordSoloImg(5)\Y(4) = 4727844
ColorCoordSoloImg(5)\Y(5) = 4727844
ColorCoordSoloImg(5)\Y(6) = 4727844
ColorCoordSoloImg(5)\Y(7) = 4727844
ColorCoordSoloImg(5)\Y(8) = 4727844
ColorCoordSoloImg(5)\Y(9) = 0
ColorCoordSoloImg(5)\Y(10) = 16777215
ColorCoordSoloImg(5)\Y(11) = 0
ColorCoordSoloImg(5)\Y(12) = 0
ColorCoordSoloImg(5)\Y(13) = 16776960
ColorCoordSoloImg(5)\Y(14) = 2359296
ColorCoordSoloImg(5)\Y(15) = 0
ColorCoordSoloImg(5)\Y(16) = 14370816
ColorCoordSoloImg(5)\Y(17) = 2359296
ColorCoordSoloImg(5)\Y(18) = 0
ColorCoordSoloImg(5)\Y(19) = 16711935
ColorCoordSoloImg(5)\Y(20) = 16711935
ColorCoordSoloImg(5)\Y(21) = 16711935
ColorCoordSoloImg(5)\Y(22) = 16711935
ColorCoordSoloImg(5)\Y(23) = 16711935
ColorCoordSoloImg(6)\Y(0) = 16711935
ColorCoordSoloImg(6)\Y(1) = 0
ColorCoordSoloImg(6)\Y(2) = 0
ColorCoordSoloImg(6)\Y(3) = 0
ColorCoordSoloImg(6)\Y(4) = 0
ColorCoordSoloImg(6)\Y(5) = 0
ColorCoordSoloImg(6)\Y(6) = 0
ColorCoordSoloImg(6)\Y(7) = 0
ColorCoordSoloImg(6)\Y(8) = 0
ColorCoordSoloImg(6)\Y(9) = 16776960
ColorCoordSoloImg(6)\Y(10) = 16777215
ColorCoordSoloImg(6)\Y(11) = 16777215
ColorCoordSoloImg(6)\Y(12) = 16776960
ColorCoordSoloImg(6)\Y(13) = 16776960
ColorCoordSoloImg(6)\Y(14) = 16776960
ColorCoordSoloImg(6)\Y(15) = 14370816
ColorCoordSoloImg(6)\Y(16) = 14370816
ColorCoordSoloImg(6)\Y(17) = 2359296
ColorCoordSoloImg(6)\Y(18) = 0
ColorCoordSoloImg(6)\Y(19) = 16711935
ColorCoordSoloImg(6)\Y(20) = 16711935
ColorCoordSoloImg(6)\Y(21) = 16711935
ColorCoordSoloImg(6)\Y(22) = 16711935
ColorCoordSoloImg(6)\Y(23) = 16711935
ColorCoordSoloImg(7)\Y(0) = 16711935
ColorCoordSoloImg(7)\Y(1) = 16711935
ColorCoordSoloImg(7)\Y(2) = 16711935
ColorCoordSoloImg(7)\Y(3) = 16711935
ColorCoordSoloImg(7)\Y(4) = 16711935
ColorCoordSoloImg(7)\Y(5) = 4727844
ColorCoordSoloImg(7)\Y(6) = 0
ColorCoordSoloImg(7)\Y(7) = 0
ColorCoordSoloImg(7)\Y(8) = 2359296
ColorCoordSoloImg(7)\Y(9) = 16776960
ColorCoordSoloImg(7)\Y(10) = 16776960
ColorCoordSoloImg(7)\Y(11) = 16776960
ColorCoordSoloImg(7)\Y(12) = 16776960
ColorCoordSoloImg(7)\Y(13) = 16776960
ColorCoordSoloImg(7)\Y(14) = 14370816
ColorCoordSoloImg(7)\Y(15) = 14370816
ColorCoordSoloImg(7)\Y(16) = 14370816
ColorCoordSoloImg(7)\Y(17) = 2359296
ColorCoordSoloImg(7)\Y(18) = 0
ColorCoordSoloImg(7)\Y(19) = 16711935
ColorCoordSoloImg(7)\Y(20) = 16711935
ColorCoordSoloImg(7)\Y(21) = 16711935
ColorCoordSoloImg(7)\Y(22) = 16711935
ColorCoordSoloImg(7)\Y(23) = 16711935
ColorCoordSoloImg(8)\Y(0) = 16711935
ColorCoordSoloImg(8)\Y(1) = 16711935
ColorCoordSoloImg(8)\Y(2) = 16711935
ColorCoordSoloImg(8)\Y(3) = 16711935
ColorCoordSoloImg(8)\Y(4) = 16711935
ColorCoordSoloImg(8)\Y(5) = 4727844
ColorCoordSoloImg(8)\Y(6) = 0
ColorCoordSoloImg(8)\Y(7) = 0
ColorCoordSoloImg(8)\Y(8) = 2359296
ColorCoordSoloImg(8)\Y(9) = 16776960
ColorCoordSoloImg(8)\Y(10) = 16776960
ColorCoordSoloImg(8)\Y(11) = 16776960
ColorCoordSoloImg(8)\Y(12) = 16776960
ColorCoordSoloImg(8)\Y(13) = 16776960
ColorCoordSoloImg(8)\Y(14) = 14370816
ColorCoordSoloImg(8)\Y(15) = 14370816
ColorCoordSoloImg(8)\Y(16) = 14370816
ColorCoordSoloImg(8)\Y(17) = 2359296
ColorCoordSoloImg(8)\Y(18) = 0
ColorCoordSoloImg(8)\Y(19) = 16711935
ColorCoordSoloImg(8)\Y(20) = 16711935
ColorCoordSoloImg(8)\Y(21) = 16711935
ColorCoordSoloImg(8)\Y(22) = 16711935
ColorCoordSoloImg(8)\Y(23) = 16711935
ColorCoordSoloImg(9)\Y(0) = 16711935
ColorCoordSoloImg(9)\Y(1) = 4727844
ColorCoordSoloImg(9)\Y(2) = 4727844
ColorCoordSoloImg(9)\Y(3) = 4727844
ColorCoordSoloImg(9)\Y(4) = 4727844
ColorCoordSoloImg(9)\Y(5) = 4727844
ColorCoordSoloImg(9)\Y(6) = 4727844
ColorCoordSoloImg(9)\Y(7) = 4727844
ColorCoordSoloImg(9)\Y(8) = 4727844
ColorCoordSoloImg(9)\Y(9) = 14370816
ColorCoordSoloImg(9)\Y(10) = 16776960
ColorCoordSoloImg(9)\Y(11) = 14370816
ColorCoordSoloImg(9)\Y(12) = 14370816
ColorCoordSoloImg(9)\Y(13) = 14370816
ColorCoordSoloImg(9)\Y(14) = 14370816
ColorCoordSoloImg(9)\Y(15) = 14370816
ColorCoordSoloImg(9)\Y(16) = 14370816
ColorCoordSoloImg(9)\Y(17) = 2359296
ColorCoordSoloImg(9)\Y(18) = 0
ColorCoordSoloImg(9)\Y(19) = 16711935
ColorCoordSoloImg(9)\Y(20) = 16711935
ColorCoordSoloImg(9)\Y(21) = 16711935
ColorCoordSoloImg(9)\Y(22) = 16711935
ColorCoordSoloImg(9)\Y(23) = 16711935
ColorCoordSoloImg(10)\Y(0) = 0
ColorCoordSoloImg(10)\Y(1) = 16777215
ColorCoordSoloImg(10)\Y(2) = 11899281
ColorCoordSoloImg(10)\Y(3) = 16777215
ColorCoordSoloImg(10)\Y(4) = 16777215
ColorCoordSoloImg(10)\Y(5) = 16777215
ColorCoordSoloImg(10)\Y(6) = 11899281
ColorCoordSoloImg(10)\Y(7) = 16777215
ColorCoordSoloImg(10)\Y(8) = 11899281
ColorCoordSoloImg(10)\Y(9) = 0
ColorCoordSoloImg(10)\Y(10) = 14370816
ColorCoordSoloImg(10)\Y(11) = 0
ColorCoordSoloImg(10)\Y(12) = 0
ColorCoordSoloImg(10)\Y(13) = 14370816
ColorCoordSoloImg(10)\Y(14) = 2359296
ColorCoordSoloImg(10)\Y(15) = 0
ColorCoordSoloImg(10)\Y(16) = 14370816
ColorCoordSoloImg(10)\Y(17) = 2359296
ColorCoordSoloImg(10)\Y(18) = 0
ColorCoordSoloImg(10)\Y(19) = 16711935
ColorCoordSoloImg(10)\Y(20) = 16711935
ColorCoordSoloImg(10)\Y(21) = 16711935
ColorCoordSoloImg(10)\Y(22) = 16711935
ColorCoordSoloImg(10)\Y(23) = 16711935
ColorCoordSoloImg(11)\Y(0) = 0
ColorCoordSoloImg(11)\Y(1) = 4727844
ColorCoordSoloImg(11)\Y(2) = 4727844
ColorCoordSoloImg(11)\Y(3) = 4727844
ColorCoordSoloImg(11)\Y(4) = 4727844
ColorCoordSoloImg(11)\Y(5) = 4727844
ColorCoordSoloImg(11)\Y(6) = 4727844
ColorCoordSoloImg(11)\Y(7) = 4727844
ColorCoordSoloImg(11)\Y(8) = 4727844
ColorCoordSoloImg(11)\Y(9) = 0
ColorCoordSoloImg(11)\Y(10) = 14370816
ColorCoordSoloImg(11)\Y(11) = 0
ColorCoordSoloImg(11)\Y(12) = 14370816
ColorCoordSoloImg(11)\Y(13) = 14370816
ColorCoordSoloImg(11)\Y(14) = 14370816
ColorCoordSoloImg(11)\Y(15) = 14370816
ColorCoordSoloImg(11)\Y(16) = 2359296
ColorCoordSoloImg(11)\Y(17) = 0
ColorCoordSoloImg(11)\Y(18) = 16711935
ColorCoordSoloImg(11)\Y(19) = 16711935
ColorCoordSoloImg(11)\Y(20) = 16711935
ColorCoordSoloImg(11)\Y(21) = 16711935
ColorCoordSoloImg(11)\Y(22) = 16711935
ColorCoordSoloImg(11)\Y(23) = 16711935
ColorCoordSoloImg(12)\Y(0) = 16711935
ColorCoordSoloImg(12)\Y(1) = 0
ColorCoordSoloImg(12)\Y(2) = 0
ColorCoordSoloImg(12)\Y(3) = 0
ColorCoordSoloImg(12)\Y(4) = 0
ColorCoordSoloImg(12)\Y(5) = 0
ColorCoordSoloImg(12)\Y(6) = 0
ColorCoordSoloImg(12)\Y(7) = 0
ColorCoordSoloImg(12)\Y(8) = 0
ColorCoordSoloImg(12)\Y(9) = 2359296
ColorCoordSoloImg(12)\Y(10) = 14370816
ColorCoordSoloImg(12)\Y(11) = 14370816
ColorCoordSoloImg(12)\Y(12) = 14370816
ColorCoordSoloImg(12)\Y(13) = 14370816
ColorCoordSoloImg(12)\Y(14) = 14370816
ColorCoordSoloImg(12)\Y(15) = 2359296
ColorCoordSoloImg(12)\Y(16) = 0
ColorCoordSoloImg(12)\Y(17) = 16711935
ColorCoordSoloImg(12)\Y(18) = 16711935
ColorCoordSoloImg(12)\Y(19) = 16711935
ColorCoordSoloImg(12)\Y(20) = 16711935
ColorCoordSoloImg(12)\Y(21) = 16711935
ColorCoordSoloImg(12)\Y(22) = 16711935
ColorCoordSoloImg(12)\Y(23) = 16711935
ColorCoordSoloImg(13)\Y(0) = 16711935
ColorCoordSoloImg(13)\Y(1) = 16711935
ColorCoordSoloImg(13)\Y(2) = 16711935
ColorCoordSoloImg(13)\Y(3) = 16711935
ColorCoordSoloImg(13)\Y(4) = 16711935
ColorCoordSoloImg(13)\Y(5) = 16711935
ColorCoordSoloImg(13)\Y(6) = 16711935
ColorCoordSoloImg(13)\Y(7) = 0
ColorCoordSoloImg(13)\Y(8) = 2359296
ColorCoordSoloImg(13)\Y(9) = 2359296
ColorCoordSoloImg(13)\Y(10) = 14370816
ColorCoordSoloImg(13)\Y(11) = 14370816
ColorCoordSoloImg(13)\Y(12) = 14370816
ColorCoordSoloImg(13)\Y(13) = 2359296
ColorCoordSoloImg(13)\Y(14) = 0
ColorCoordSoloImg(13)\Y(15) = 0
ColorCoordSoloImg(13)\Y(16) = 16711935
ColorCoordSoloImg(13)\Y(17) = 16711935
ColorCoordSoloImg(13)\Y(18) = 16711935
ColorCoordSoloImg(13)\Y(19) = 16711935
ColorCoordSoloImg(13)\Y(20) = 16711935
ColorCoordSoloImg(13)\Y(21) = 16711935
ColorCoordSoloImg(13)\Y(22) = 16711935
ColorCoordSoloImg(13)\Y(23) = 16711935
ColorCoordSoloImg(14)\Y(0) = 16711935
ColorCoordSoloImg(14)\Y(1) = 16711935
ColorCoordSoloImg(14)\Y(2) = 16711935
ColorCoordSoloImg(14)\Y(3) = 16711935
ColorCoordSoloImg(14)\Y(4) = 16711935
ColorCoordSoloImg(14)\Y(5) = 16711935
ColorCoordSoloImg(14)\Y(6) = 16711935
ColorCoordSoloImg(14)\Y(7) = 16711935
ColorCoordSoloImg(14)\Y(8) = 0
ColorCoordSoloImg(14)\Y(9) = 0
ColorCoordSoloImg(14)\Y(10) = 0
ColorCoordSoloImg(14)\Y(11) = 0
ColorCoordSoloImg(14)\Y(12) = 0
ColorCoordSoloImg(14)\Y(13) = 0
ColorCoordSoloImg(14)\Y(14) = 16711935
ColorCoordSoloImg(14)\Y(15) = 16711935
ColorCoordSoloImg(14)\Y(16) = 16711935
ColorCoordSoloImg(14)\Y(17) = 16711935
ColorCoordSoloImg(14)\Y(18) = 16711935
ColorCoordSoloImg(14)\Y(19) = 16711935
ColorCoordSoloImg(14)\Y(20) = 16711935
ColorCoordSoloImg(14)\Y(21) = 16711935
ColorCoordSoloImg(14)\Y(22) = 16711935
ColorCoordSoloImg(14)\Y(23) = 16711935
ColorCoordSoloImg(15)\Y(0) = 16711935
ColorCoordSoloImg(15)\Y(1) = 16711935
ColorCoordSoloImg(15)\Y(2) = 16711935
ColorCoordSoloImg(15)\Y(3) = 16711935
ColorCoordSoloImg(15)\Y(4) = 16711935
ColorCoordSoloImg(15)\Y(5) = 16711935
ColorCoordSoloImg(15)\Y(6) = 16711935
ColorCoordSoloImg(15)\Y(7) = 16711935
ColorCoordSoloImg(15)\Y(8) = 16711935
ColorCoordSoloImg(15)\Y(9) = 16711935
ColorCoordSoloImg(15)\Y(10) = 16711935
ColorCoordSoloImg(15)\Y(11) = 16711935
ColorCoordSoloImg(15)\Y(12) = 16711935
ColorCoordSoloImg(15)\Y(13) = 16711935
ColorCoordSoloImg(15)\Y(14) = 16711935
ColorCoordSoloImg(15)\Y(15) = 16711935
ColorCoordSoloImg(15)\Y(16) = 16711935
ColorCoordSoloImg(15)\Y(17) = 16711935
ColorCoordSoloImg(15)\Y(18) = 16711935
ColorCoordSoloImg(15)\Y(19) = 16711935
ColorCoordSoloImg(15)\Y(20) = 16711935
ColorCoordSoloImg(15)\Y(21) = 16711935
ColorCoordSoloImg(15)\Y(22) = 16711935
ColorCoordSoloImg(15)\Y(23) = 16711935
;{ прозрачный цвет для вставки из буфера обмена
Procedure ByteSwap32(addrLong)
CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
!mov rax, [p.v_addrLong]
!mov ecx, [rax]
!bswap ecx
!mov [rax], ecx
CompilerElse
!mov eax, [p.v_addrLong]
!mov ecx, [eax]
!bswap ecx
!mov [eax], ecx
CompilerEndIf
EndProcedure
Procedure.i LoadImageTransparent(hLoadImg, TransparentColorRGB.l) ;returns new image handle
Protected width,height,pitch,imgbase, x,y, hImg32, *RGBA.Long
width = ImageWidth(hLoadImg)
height = ImageHeight(hLoadImg)
hImg32 = CreateImage(#PB_Any, width, height, 32)
If hImg32 = 0: ProcedureReturn 0: EndIf
If StartDrawing(ImageOutput(hImg32)) = 0
FreeImage(hImg32): ProcedureReturn 0
EndIf
If DrawingBufferPixelFormat() & #PB_PixelFormat_32Bits_RGB
TransparentColorRGB | $FF000000 ;Linux & OSX
Else
ByteSwap32(@TransparentColorRGB) ;Windows
TransparentColorRGB = (TransparentColorRGB >> 8) | $FF000000
EndIf
DrawingMode(#PB_2DDrawing_Default)
DrawImage(ImageID(hLoadImg),0,0,width,height)
pitch = DrawingBufferPitch()
imgbase = DrawingBuffer()
width-1: height-1 ;to address from base 0
For y = 0 To height
*RGBA = imgbase + (y * pitch)
For x = 0 To width
If *RGBA\l = TransparentColorRGB
*RGBA\l = 0 ;= RGBA(0,0,0, 0) ;set Alpha channel to 0 (fully transparent)
EndIf
*RGBA+4
Next x
Next y
StopDrawing()
ProcedureReturn hImg32
EndProcedure
Procedure SetImageTransparent (hImg32, TransparentColorRGB.l) ;returns 1 on success, 0 on error/fail
Protected width,height,pitch,imgbase, x,y, *RGBA.Long
If ImageDepth(hImg32) <> 32: ProcedureReturn 0: EndIf
width = ImageWidth(hImg32)
height = ImageHeight(hImg32)
If StartDrawing(ImageOutput(hImg32)) = 0
ProcedureReturn 0
EndIf
If DrawingBufferPixelFormat() & #PB_PixelFormat_32Bits_RGB
TransparentColorRGB | $FF000000 ;Linux & OSX
Else
ByteSwap32(@TransparentColorRGB) ;Windows
TransparentColorRGB = (TransparentColorRGB >> 8) | $FF000000
EndIf
DrawingMode(#PB_2DDrawing_Default)
pitch = DrawingBufferPitch()
imgbase = DrawingBuffer()
width-1: height-1
For y = 0 To height
*RGBA = imgbase + (y * pitch)
For x = 0 To width
If *RGBA\l = TransparentColorRGB
*RGBA\l = 0 ;= RGBA(0,0,0, 0) ;set Alpha channel to 0 (fully transparent)
EndIf
*RGBA+4
Next x
Next y
StopDrawing()
ProcedureReturn 1 ;SUCCESS
EndProcedure
;}
;TransparentColorRGB = RGB(255, 0, 255)
;ByteSwap32(@TransparentColorRGB)
;TransparentColorRGB = (TransparentColorRGB >> 8) | $FF000000
;Debug Hex(RGB(255, 0, 255))
;Debug Hex(RGBA(255, 0, 255, 255))
;Debug Hex(TransparentColorRGB)
; перерисовка
Procedure GFXRePaint(markx.a, marky.a, fullrepaint.a=0)
If fullrepaint
If IsImage(#GFXEditorMAINEditImage)
FreeImage(#GFXEditorMAINEditImage)
EndIf
CreateImage(#GFXEditorMAINEditImage, markx*5, marky*5, 32)
; repaint
If StartDrawing(ImageOutput(#GFXEditorMAINEditImage))
; image
For y = 0 To marky-1
For x = 0 To markx-1
Box(x*5, y*5, 5, 5, ColorCoordSoloImg(x)\Y(y))
Next
Next
StopDrawing()
; set transparent
SetImageTransparent(#GFXEditorMAINEditImage, 16711935)
EndIf
EndIf
; out
If StartDrawing(CanvasOutput(#GFXEditorMAINEditGad))
; filled backstage
Box(0, 0, 160, 160, 16711935)
; greed
If GetGadgetState(#GFXEditorGrid)
Line( 41, 0, 1, 160, 0)
Line( 81, 0, 1, 160, 0)
Line(121, 0, 1, 160, 0)
Line( 0, 41, 160, 1, 0)
Line( 0, 81, 160, 1, 0)
Line( 0, 121, 160, 1, 0)
EndIf
; out image
DrawingMode(#PB_2DDrawing_AlphaBlend)
DrawImage(ImageID(#GFXEditorMAINEditImage), 0, 0)
StopDrawing()
EndIf
EndProcedure
If OpenWindow(#Window, 100, 100, 200, 200, "")
CheckBoxGadget(#GFXEditorGrid, 10, 150, 40, 20, "grid")
markx = 16
marky = 24
CanvasGadget(#GFXEditorMAINEditGad, 10, 10, markx*5, marky*5)
GFXRePaint(markx, marky, 1)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
EvGadget = EventGadget()
Select EvGadget
Case #GFXEditorMAINEditGad
Select EventType()
Case #PB_EventType_MouseMove
; coordinates
xgad = GetGadgetAttribute(#GFXEditorMAINEditGad, #PB_Canvas_MouseX)
ygad = GetGadgetAttribute(#GFXEditorMAINEditGad, #PB_Canvas_MouseY)
; count
CurIconx8X = xgad / 5 : If CurIconx8X > markx-1 : CurIconx8X = markx-1 : ElseIf CurIconx8X < 0 : CurIconx8X = 0 : EndIf
CurIconx8Y = ygad / 5 : If CurIconx8Y > marky-1 : CurIconx8Y = marky-1 : ElseIf CurIconx8Y < 0 : CurIconx8Y = 0 : EndIf
; only is change happen
If CurIconx8X <> oldCurIconx8X Or CurIconx8Y <> oldCurIconx8Y
oldCurIconx8X = CurIconx8X
oldCurIconx8Y = CurIconx8Y
If dragndropflag = 1
movetox = (xgad-startdndx)/5*5 ; step 5 pixels
movetoy = (ygad-startdndy)/5*5
If StartDrawing(CanvasOutput(#GFXEditorMAINEditGad))
Box(0, 0, 160, 160, 16711935)
If GetGadgetState(#GFXEditorGrid)
Line( 41, 0, 1, 160, 0)
Line( 81, 0, 1, 160, 0)
Line(121, 0, 1, 160, 0)
Line( 0, 41, 160, 1, 0)
Line( 0, 81, 160, 1, 0)
Line( 0, 121, 160, 1, 0)
EndIf
DrawingMode(#PB_2DDrawing_AlphaBlend)
DrawImage(ImageID(#GFXEditorMAINEditImage), movetox, movetoy)
StopDrawing()
EndIf
EndIf
EndIf
Case #PB_EventType_LeftButtonDown
dragndropflag = 1
; start position
startdndx = xgad
startdndy = ygad
Case #PB_EventType_LeftButtonUp
dragndropflag = 0
; перерисовать картинку видимо
If StartDrawing(ImageOutput(#GFXEditorMAINEditImage))
; paint from canvas to image
DrawImage(GetGadgetAttribute(#GFXEditorMAINEditGad,#PB_Canvas_Image), 0, 0)
; fill array with new data
For x = 0 To markx-1
For y = 0 To marky-1
; get color
ColorCoordSoloImg(x)\Y(y) = Point(x*5, y*5)
;; repaint with remove greed lines
;; and removing old transparents - didnt work
;If ColorCoordSoloImg(x)\Y(y) = 16711935
; ; transparent?
; Box(x*5, y*5, 5, 5, 0)
;Else
; ; not transparent?
; color = ColorCoordSoloImg(x)\Y(y)
; ByteSwap32(@color)
; color = (color >> 8) | $FF000000
; Box(x*5, y*5, 5, 5, color)
;EndIf
Next
Next
StopDrawing()
EndIf
; set out
GFXRePaint(markx, marky, 1)
Case #PB_EventType_MouseLeave ;{
CurIconx8X = 0
CurIconx8Y = 0
oldCurIconx8X = 0
oldCurIconx8Y = 0
; restore (this is work with another cases with brush, or fill area)
GFXRePaint(markx, marky, 1)
;}
EndSelect
Case #GFXEditorGrid
GFXRePaint(16, 24, 0)
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Quit = 1
EndIf