encode text to image

Wilhelm Sanke sanke at hrz.uni-kassel.de
Thu Aug 31 09:29:07 EDT 2006


On Thu Aug 31, 2006, paolo mazza paolo.mazza at neol.it wrote:

> Thank you Dar .
> I have to store an image in a MySQL database and I was told I could store
> the text... it is not gonna work ... I thought it was like that.... but I
> wanted be sure that there was not a way to recover the imagedata from the
> text.
>
> So, I have to encode and decode the image data ... I tryed this way, but
> unfortunately , when I decode image data and upload it in in the database,
> some chars get lost.
>
> Ciao Paolo
>
> >After you have the image data, set the text of the image to empty  
> >then set the height and width of the image, then set the imageData  
> >(and alphaData).  (I'm going by memory; there might be a flaw in that.)
> >
> >If the image file is really JPEG or PNG then simply set the text of  
> >the image to the value.
> >
> >Dar Scott



Getting the "text" of an image and then later setting the imagedata to 
that text indeed results in very much distorted images. What is probably 
needed here would be property like he "formattedtext of image x".
When you compare the number of chars of the "text" of the image and the 
number of chars of the imagedata you see that a lot of chars is missing 
in the text.-

I used the scripts below in an experimental stack, which worked fine 
with most pictures (that is, with very few pictures some lines are 
missing at the bottom of the image, but otherwise the image is 
undistorted - the reason for the missing lines escapes me).

A. Converting the imagedata to text:

"on mouseUp
    put the imageData of image x into iData
    put empty into imagetext
   repeat for each char c in idata
    put chartonum(C) into tc
    put numtochar(tC) after imagetext
  end repeat
  put imagetext into fld "imagetext"
 end mouseUp"

B. Setting the imagedata from the text:

"on mouseUp
    put the imageData of image x into iData
  put 0 into counter
  put fld "imagetext" into tText
  repeat for each char C in tText
    add 1 to counter
    put chartonum(char counter of tText) into tC
    put numtochar(tC) into char counter of idata
  end repeat
  set the imageData of image x to iData
  end mouseUp"

The important thing here is to first get the imagedata of the image in 
which you want to display the stored imagetext data.
If you use - as a variation of the second script -

"put empty into idata" and " put numtochar(tC) after idata" in the above 
script

you will get a picture, but also a very distorted one.


Regards,

Wilhelm Sanke
<http://www.sanke.org/MetaMedia>





More information about the use-livecode mailing list