Temporary storage of imagedata

Mark Smith lists at futilism.com
Mon Aug 24 08:45:45 EDT 2009


Richard, the imagedata will tend to be a lot bigger (maybe 10x) than  
the compressed image file, so you probably want to store <the text of  
image "someimage">, and then <set the text of image "someimage" to  
tStoredData[1]>.

The text of an image is what would be in the file - ie. <the text of  
image "someimage.jpg"> is the same as what you'd get from <get url  
("binfile:someimage.jpeg")>, whereas the imagedata is (I think) the  
actual pixels that revolution displays.

Other than that, I'd think your idea would work well.

If you store the text of your images in an array, then you could  
serialize the array with <arrayencode>, (and maybe base64encode the  
result for transmission over the net).

Best,

Mark Smith

On 24 Aug 2009, at 13:28, Richard Miller wrote:

> This is for a revlet application.
>
> I'm looking at various ways to temporarily store image snapshots  
> before displaying them in a stack. The objective is to record  
> several hundred screen shots (one per second), store them  
> temporarily, then put the images into a new stack, one image per  
> card, for replay. The temporary storage process needs to occur very  
> quickly, as the user is interacting with the main stack while the  
> recording is taking place. Each snapshot is shot with a low  
> jpegquality (30-40), as the file size of the final group of images  
> must be kept to a minimum so it can be transferred fairly quickly  
> over the net.
>
> Each image is averaging 30k. 100 images is 3 mb... which will work  
> for this application. Right now, I am just saving each snapshot to  
> a file, then at the end of the recording process, quickly putting  
> each image onto a card. That whole saving-to-stack process takes  
> about 10 seconds or so, which is fine.
>
> I'm thinking it might be better/more elegant to store the imagedata  
> of all the images into one variable (rather than to separate  
> files), but I'm not sure how best to store this data (since it is  
> binary and contains many lines per image). Then, at the end of the  
> recording, I could transfer just this data over the net (stored as  
> one binary file), then either create a display stack containing one  
> image per card, or maybe even better, just create one card with one  
> image "on the fly", pulling the data for each image from this data  
> variable.
>
> Thoughts?
>
> Thanks.
> Richard Miller
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your  
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution




More information about the use-livecode mailing list