Quick Demo stack for creating Transpanrecy effect.

Chipp Walters chipp at chipp.com
Thu May 5 16:16:51 EDT 2005


JB,

Thanks, after modifying it so that I could compare apples to apples, I 
came up with the following function. It tests to between 7-8 times as 
fast as the original, which is substantial. I'm pretty sure the overhead 
is in the binaryEncode function, which you only do 4 times, while I call 
it once for each pixel. Thanks for your help!

For those interested, in the messagebox type:
go URL "http://www.altuit.com/webs/altuit2/RunRev/altMakeTrans.rev"

best,

Chipp

function altMakeTransAlpha pTransColor,pImgData,pAlphaData
   --> pTransColor IS THE COLOR TO MAKE TRANSPARENT
   -->  EX. "255,255,255" IS WHITE
   --> pImgData IS THE IMAGEDATA FROM WHICH THE MASK IS CREATED
   --> pAlphaData IS THE ALPHADATA OF THE ORIGINAL IMAGE
   --> RETURNS THE ALPHADATA TO USE FOR TRANS MASK

   put binaryEncode("C",0) into t0RGB
   put t0RGB into tAlphaTrans

   put binaryEncode("C",item 1 of pTransColor) after t0RGB
   put binaryEncode("C",item 2 of pTransColor) after t0RGB
   put binaryEncode("C",item 3 of pTransColor) after t0RGB

   put 0 into tPos
   repeat forever
     put offset(t0RGB,pImgData,tPos) into t
     if t=0 then
       exit repeat
     else
       add t+3 to tPos
       put tAlphaTrans into char tPos/4 of pAlphaData
     end if
   end repeat

   return pAlphaData

end altMakeTransAlpha



More information about the use-livecode mailing list