GetGadgetState + ImageID = null?

Just starting out? Need help? Post your questions and find answers here.
jamirokwai
Posts: 40
Joined: Fri Sep 25, 2015 12:00 pm

GetGadgetState + ImageID = null?

Post by jamirokwai »

Hi there,

I try to get the ImageID from an ImageGadget using GetGadgetState:

Code: Select all

  If OpenWindow(0, 0, 0, 245, 105, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CreateImage(0, 16, 16, 32, #PB_Image_Transparent)
    If StartDrawing(ImageOutput(0))
      Circle(8, 8, 7, RGB(255, 0, 0))
      StopDrawing()
    EndIf
 
    ImageGadget(0,  10, 10, 100, 83, ImageID(0))                    ; imagegadget standard
    
  Debug ImageID(GetGadgetState(0))
  EndIf
  
  
If throws "null". I doubt, this is correct, or do I miss something?

Cheers
J.
User avatar
Peter
Posts: 1197
Joined: Mon Feb 24, 2014 10:17 pm
Location: 127.0.0.1:9080
Contact:

Re: GetGadgetState + ImageID = null?

Post by Peter »

SB-Help wrote:GetGadgetState() -> ImageGadget(): returns the ImageID of the currently displayed image.
so ImageID(GetGadgetState(0)) is doppelt gemoppelt. ;-)

Greetings ... Peter
jamirokwai
Posts: 40
Joined: Fri Sep 25, 2015 12:00 pm

Re: GetGadgetState + ImageID = null?

Post by jamirokwai »

Peter wrote:
SB-Help wrote:GetGadgetState() -> ImageGadget(): returns the ImageID of the currently displayed image.
so ImageID(GetGadgetState(0)) is doppelt gemoppelt. ;-)

Greetings ... Peter
Moppelt gedoppelt?

I fiddled around with resizing. This works:

Code: Select all

If OpenWindow(0, 0, 0, 245, 105, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CreateImage(0, 16, 16, 32, #PB_Image_Transparent)
    If StartDrawing(ImageOutput(0))
      Circle(8, 8, 7, RGB(255, 0, 0))
      StopDrawing()
    EndIf
 
    ImageGadget(0,  10, 10, 100, 83, ImageID(0))                    ; imagegadget standard
    
    x= GetGadgetState(0)
    ResizeImage(0,200,83)
    SetGadgetState(0,ImageID(0))
  EndIf
debug x will throw [object HTMLCanvasElement], which tricked me :?

Thanks, Peter!

Cheers
J.
Post Reply