Code: Select all
UseJPEG2000ImageDecoder()
UseJPEG2000ImageEncoder()
UseJPEGImageDecoder()
UseJPEGImageEncoder()
UsePNGImageDecoder()
UsePNGImageEncoder()
UseTGAImageDecoder()
UseTIFFImageDecoder()
#CAPTUREBLT = $40000000
Procedure capANY(gadget,sName$,x,y,width,height)
If gadget < 0
hBitmap = CreateImage(10,width,height)
Else
hBitmap = CreateImage(10,GadgetWidth(gadget),GadgetHeight(gadget))
EndIf
hdc = StartDrawing(ImageOutput(10))
SelectObject_(hdc, hBitmap)
If gadget < 0
BitBlt_(hdc,0,0 ,width,height, GetDC_(0), x, y, #SRCCOPY | #CAPTUREBLT)
Else
BitBlt_(hdc,0,0 ,GadgetWidth(gadget),GadgetHeight(gadget), GetDC_(0), GadgetX(gadget,#PB_Gadget_ScreenCoordinate),GadgetY(gadget, #PB_Gadget_ScreenCoordinate), #SRCCOPY | #CAPTUREBLT)
EndIf
StopDrawing()
; ext$ = LCase(GetExtensionPart(sName$))
; If ext$ = "bmp"
; SaveImage(10,sName$,#PB_ImagePlugin_BMP)
; ElseIf ext$ = "png"
; SaveImage(10,sName$,#PB_ImagePlugin_PNG)
; ElseIf ext$ = "jpg"
; SaveImage(10,sName$,#PB_ImagePlugin_JPEG)
; EndIf
; FreeImage(10)
DeleteDC_(hdc)
EndProcedure
LoadFont(0,"Georgia",24,#PB_Font_Bold )
OpenWindow(0,0,0,400,300,"Test",#PB_Window_SystemMenu| #PB_Window_ScreenCentered| #PB_Window_MaximizeGadget| #PB_Window_SizeGadget)
TextGadget(0,10,5,380,40,"Text Test",#SS_CENTERIMAGE|#SS_CENTER)
SetGadgetColor(0,#PB_Gadget_BackColor,$FFFFFF)
SetGadgetColor(0,#PB_Gadget_FrontColor,$0000FF)
SetGadgetFont(0,FontID(0))
CanvasGadget(1,10,50,380,100)
hIcon = ExtractIcon_(#Null, "C:\windows\explorer.exe", 2)
;bHnd = LoadImage_(0, #PB_Compiler_Home+"Examples\Sources\Data\File.bmp",#IMAGE_BITMAP ,64,64,#LR_LOADFROMFILE|#LR_LOADTRANSPARENT )
hIcon2 = CopyImage_(hIcon,#IMAGE_ICON,32,32,#LR_COPYDELETEORG)
ButtonImageGadget(2,10,160,48,48,hIcon2)
ButtonGadget(3,10,270,60,20,"TEST")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 3
capANY(0,"d:\cap_test.jpg",WindowX(0),WindowY(0),WindowWidth(0)+6, WindowHeight(0)+34)
SetGadgetAttribute(1,#PB_Canvas_Image ,ImageID(10))
EndSelect
EndSelect
Until Quit = 1
End