Page 1 of 1

Encode image return 0 PB5.2 beta

Posted: Fri Jul 26, 2013 5:28 pm
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

Re: Encode image return 0 PB5.2 beta

Posted: Fri Jul 26, 2013 9:07 pm
by Bisonte
Where is your " UsePNGImageEncoder() " ??

Re: Encode image return 0 PB5.2 beta

Posted: Fri Jul 26, 2013 9:41 pm
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.

Re: Encode image return 0 PB5.2 beta

Posted: Fri Jul 26, 2013 9:47 pm
by rsts
Please post a "working" snippet which demonstrates the problem and Please use Code Tags.

cheers

Re: Encode image return 0 PB5.2 beta

Posted: Sat Jul 27, 2013 1:02 am
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

Re: Encode image return 0 PB5.2 beta

Posted: Sat Jul 27, 2013 1:06 am
by roslansalleh
Forgot to tell. I use PB5.11 and PB_5.2 beta7 OSX 64bit.

Re: Encode image return 0 PB5.2 beta

Posted: Sat Jul 27, 2013 1:28 am
by rsts
returns a memory address on Windows x64 - PB 32 5.2 b7

Re: Encode image return 0 PB5.2 beta

Posted: Sat Jul 27, 2013 1:33 am
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