I'm a little confused about imageData. How would I create an image, using imageData, with whatever colors I wanted for each pixel?
Ex: If the new image was 5 pixels by 5 pixels, with each pixel being some color that the user chooses, how do I handle imageData to build the final image?
Derek,
Per the Dictionary, "Each pixel is represented by four bytes of image data, with pixels numbered from the top left corner of the image, left to right, top to bottom. The first byte consists of zeroes, and the last three bytes encode the amount of red, green, and blue respectively. ...you can obtain the numeric value of any of the color channels for a given pixel using the charToNum function. For example, the numeric value of the red channel for the tenth pixel is given by the expression, charToNum(char((4*9)+2) of the imageData of image."
Based on the above (untested):
on changeImageColor imageName,pixelColors
get the imageData of image imageName
put length(it) div 4 into pixelCount
if the number of lines of pixelColors <> pixelCount then \
return "Color list lines & pixel count mismatch."
repeat with x = 1 to pixelCount
put (x-1)*4 into pixelStart
put line x of pixelColors into newColors
put numToChar(item 1 of newColors) into char(pixelStart+2) of it
put numToChar(item 2 of newColors) into char(pixelStart+3) of it
put numToChar(item 3 of newColors) into char(pixelStart+4) of it
end repeat
set the imageData of image imageName to it
return empty -- no error
end changImageColorNote this assumes you pass a list of the new colors in RGB format, one line per pixel. You might incorporate a different logic scheme, perhaps setting the new color based on the value of the original color.
Hope this helps. --
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 [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
