The example below works fine now, because I've inserted the three lines marked with '***' - would be nice, if the program would also work without them.
Another fine thing would be to have a flag to force GrabImage to use a certain image depth or/and to grab the alpha channel or not.
Code: Select all
Procedure delete(s.s,color)
Protected i,n,x,y,m,x2,y2
StartDrawing(ImageOutput(#IconBitmap))
DrawingMode(#PB_2DDrawing_AllChannels)
For i=CountString(s,",")+1 To 1 Step -1
n=Val(StringField(s,i,","))
While n<7999
m=n+1
x=n&31
y=n>>5
x2=m&31
y2=m>>5
x*64
y*64
x2*64
y2*64
n+1
StopDrawing(); ***
GrabImage(#IconBitmap,999,x2,y2,64,64)
StartDrawing(ImageOutput(#IconBitmap)); ***
DrawingMode(#PB_2DDrawing_AllChannels); ***
DrawImage(ImageID(999),x,y)
Wend
Next i
StopDrawing()
SaveImage(#IconBitmap,"Check.png",#PB_ImagePlugin_PNG)
EndProcedure