Encode image return 0 PB5.2 beta

Just starting out? Need help? Post your questions and find answers here.
User avatar
roslansalleh
User
User
Posts: 19
Joined: Fri Dec 21, 2012 3:45 am

Encode image return 0 PB5.2 beta

Post by roslansalleh »

Can someone tell me why under PB5.11 encodeimage return properly the address
of memory but under PB5.2 beta always return 0.

If *this\Dbase\QuerytblMachineDiagram(MachineId,@machineDiagram)
If machineDiagram\diagram
ImageNr = CatchImage(#PB_Any,machineDiagram\diagram)
If ImageNr
imaged = CreateImage(#PB_Any,ImageWidth(ImageNr),ImageHeight(ImageNr),24) ;,$FFFFFF)
If imaged
StartDrawing(ImageOutput(imaged))
Box(0,0,ImageWidth(ImageNr),ImageHeight(ImageNr),$FFFFFF)
DrawImage(ImageID(ImageNr),0,0)
StopDrawing()
If imaged
*imgbuffer = EncodeImage(imaged,#PB_ImagePlugin_PNG,#PB_Image_FloydSteinberg,8)
MessageRequester("Test line","Memory : " + Str(*imgbuffer))
If *imgbuffer
DoSomething()
; ShowMemoryViewer(*imgbuffer,MemorySize(*imgbuffer))
EndIf
SetGadgetState(*this\GdgtMachImage,ImageID(imaged))
EndIf
EndIf
EndIf
EndIf
EndIf
User avatar
Bisonte
Addict
Addict
Posts: 1305
Joined: Tue Oct 09, 2007 2:15 am

Re: Encode image return 0 PB5.2 beta

Post by Bisonte »

Where is your " UsePNGImageEncoder() " ??
PureBasic 6.21 (Windows x64) | Windows 11 Pro | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
English is not my native language... (I often use DeepL.)
User avatar
roslansalleh
User
User
Posts: 19
Joined: Fri Dec 21, 2012 3:45 am

Re: Encode image return 0 PB5.2 beta

Post by roslansalleh »

already define above the code.
The code run fine using PB5.11. I confirm about it. But under PB5.2 beta 6 and 7 I tested
the result always 0. I mean encode image always return 0.
rsts
Addict
Addict
Posts: 2736
Joined: Wed Aug 24, 2005 8:39 am
Location: Southwest OH - USA

Re: Encode image return 0 PB5.2 beta

Post by rsts »

Please post a "working" snippet which demonstrates the problem and Please use Code Tags.

cheers
User avatar
roslansalleh
User
User
Posts: 19
Joined: Fri Dec 21, 2012 3:45 am

Re: Encode image return 0 PB5.2 beta

Post by roslansalleh »

here simple test. Under PB5.11 I got and address for *imgbuffer.
But using PB5.2 beta 7 got 0 only.

Code: Select all

UsePNGImageEncoder()
        imaged = CreateImage(#PB_Any,200,200,24) ;,$FFFFFF)
        If imaged
          StartDrawing(ImageOutput(imaged))
          Box(20,20,100,100,$FFFF00)
          StopDrawing()
          If imaged
            *imgbuffer = EncodeImage(imaged,#PB_ImagePlugin_PNG,#PB_Image_FloydSteinberg,8)
              MessageRequester("Test line","Memory : " + Str(*imgbuffer))
          EndIf
        EndIf
User avatar
roslansalleh
User
User
Posts: 19
Joined: Fri Dec 21, 2012 3:45 am

Re: Encode image return 0 PB5.2 beta

Post by roslansalleh »

Forgot to tell. I use PB5.11 and PB_5.2 beta7 OSX 64bit.
rsts
Addict
Addict
Posts: 2736
Joined: Wed Aug 24, 2005 8:39 am
Location: Southwest OH - USA

Re: Encode image return 0 PB5.2 beta

Post by rsts »

returns a memory address on Windows x64 - PB 32 5.2 b7
User avatar
roslansalleh
User
User
Posts: 19
Joined: Fri Dec 21, 2012 3:45 am

Re: Encode image return 0 PB5.2 beta

Post by roslansalleh »

So the problem is only under OSX when using PB5.2 beta version.

Code: Select all

UsePNGImageEncoder()
imaged = CreateImage(#PB_Any,200,200,24) ;,$FFFFFF)
If imaged
  StartDrawing(ImageOutput(imaged))
  Box(20,20,100,100,$FFFF00)
  StopDrawing()
  *imgbuffer = EncodeImage(imaged,#PB_ImagePlugin_PNG,#PB_Image_FloydSteinberg,8)
  MessageRequester("Test line","Memory : " + Str(*imgbuffer))
EndIf
Post Reply