On 28 Nov 2007, at 21:24, Chipp Walters wrote:
Or, you could probably do it really fast with an optimized imagedata
script where you average the values of each pixel and reapply. I would
think that would zip right along.
I managed to find a function from March last year from a discussion
about making alphadata from images.
Originally written by Wilhelm Sanke, with a few tweaks by me to make
it universal for any image size.
Pass it the long ID of an image and it will return a one-channel
image suitable for a mask.
On 13 Mar 2006, at 20:51, Ian Wood wrote:
function makeMask tMaskImg
set the cursor to watch
put width of tMaskImg into tW
put height of tMaskImg into tH
put the milliseconds into Start
put the imageData of tMaskImg into iData
put empty into tmaskdata
put tW * 4 into re
repeat with i = 0 to (tH - 1)
repeat with j = 0 to (tW - 1)
put chartonum(char (i*re + (j*4+2)) of idata) into tC1
put chartonum(char (i*re + (j*4+3)) of idata) into tC2
put chartonum(char (i*re + (j*4+4)) of idata) into tC3
put the round of ((tc1 + tc2 + tc3)/3) into tM
put numToChar(tM) after tMaskData
end repeat
end repeat
return tMaskData
end makeMask
Add another tweak to put it back into RGB:
function makeMask tMaskImg
set the cursor to watch
put width of tMaskImg into tW
put height of tMaskImg into tH
put the milliseconds into Start
put the imageData of tMaskImg into iData
put empty into tmaskdata
put tW * 4 into re
repeat with i = 0 to (tH - 1)
repeat with j = 0 to (tW - 1)
put chartonum(char (i*re + (j*4+2)) of idata) into tC1
put chartonum(char (i*re + (j*4+3)) of idata) into tC2
put chartonum(char (i*re + (j*4+4)) of idata) into tC3
put the round of ((tc1 + tc2 + tc3)/3) into tM
put numToChar(tM) into tPix
put tPix & tPix & tPix & tPix after tMaskData
end repeat
end repeat
return tMaskData
end makeMask
And you can do something like:
put makeMask(long id of img 1) into tData
set the imagedata of img 1 to tData
to turn the specified image into greyscale. Takes about a second for
a 640x480px image on a MBP 2GHz Core Duo, so not too speedy.
Ian
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution