Dar, Jacque, et al:

Following is based on (a) what I've read about imageData from Rev Dictionary, (b) what I've learned about imageData in personal testing, and (c) what I THINK I know about imageData based on conclusions drawn from (a) & (b):

* Rev. Dictionary: "Revolution supports GIF, JPEG, PNG, PICT, BMP, PBM/PGM/PPM, and XBM/XPM/XWD formats, as well as its own internal format". My presumption is (untested) the "internal format", designated as "rle" in the image's paintCompression property, is the format used for imageData [4 bytes per pixel: null, red, green, blue].

* Rev Dictionary: "Because most picture formats include compression, the content of an image is normally smaller than its imageData property." My presumption is (untested) that if an image has never been resized since created in rle format, the image's text & imageData properties will be identical. [ I would also note the Dictionary is likely to be incorrect if the image is displayed at less than full size.]

* Rev Dictionary: "To manipulate each pixel (for example, to brighten the image or remove the red channel), to examine the actual screen appearance of the image, or to work with the picture data in a format-independent way, use the imageData property." I think this should read "use the rle format" instead of "use the imageData property." [Though one could reference the imageData property to convert images in other formats to rle.]

* Rev Dictionary, "To take advantage of the characteristics of a particular format or to transfer picture data between objects, use the image content." [Emphasis mine.]

So Jacque notes that "set the imageData of image id 12345 to my32x32RLEString" should be functionally equivalent to "set the text of image id 12345 to my32x32RLEString", and Dar suggests people work with imageData because it's easier to decipher and manipulate bit-by-bit than other Rev image formats.

1. Setting the text of an image automatically resets image dimensions (among other properties); setting the imageData of an image does NOT adjust dimensions and WILL cause image distortion if the imageData does not contain exactly the number of pixels needed to fill the screen space occupied by the image.

2. Changing image content via resetting the imageData property ONLY works for data in rle format:

        get URL "binfile:/Disk/Folder/image.jpg"
        set the imageData of image id 12345 to it

will not display(or load?) the image correctly. So I feel it's bad form to post solutions that change image content by changing the imageData; since it only works for one of the eight image formats Rev supports and does not update all the image properties that are touched by "set the text of image id 12345 to it".

3. None of this means one cannot create and manipulate images rle format, it just means once one has created the image string, one should set the text of the image to it or put it into the image, rather than setting the imageData of the image to it.
--

Rob Cozens
CCW, Serendipity Software Company

"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."

from "The Triple Foole" by John Donne (1572-1631)
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to