>And finally, there are some undocumented dither params you might 
>want to handle (from the engineer who did the imaging work):

Thanx Roy, and WOW. they work indeed even better with custom 
palettes... ever tried using grayscale palette with dither set 
true....?

here is the second version of the SetMemberDepth handler, now with 
support for palette, dither and all other built-in copyPixels options:

------  ver 1.0 Yariv Alter Fin / Marcel van der Drift ------
on SetMemberDepth mem,dep,opts
   if opts.ilk=#integer then opts=[#dither:opts]
   if opts.ilk=#proplist then pal=symbol(getaprop(opts,#palette))
   else pal=symbol(opts)
   targ=image(mem.width,mem.height,dep,pal)
   targ.copyPixels(mem.image,mem.rect,mem.rect,opts)
   mem.image=targ
   return targ
end
------  www.nobodyHere.com / www.alterFin.com  ------

opts can be a proplist with palette/dither/bgcolor and such, a string 
or symbol for the palette or an integer for the dither code:

SetMemberDepth member("myMem"),2
SetMemberDepth member("theirMem"),4,"Grayscale"
SetMemberDepth 
member("yourMem"),8,[#bgcolor:rgb(255,0,0),#dither:true,#palette:"rainbow"]
img=SetMemberDepth member("roysMem"),16,1215...

sending strange values for the object palette or copy options does 
not seems to cause any problems.

the handler is now also a function returning the new image object. 
this might speed up further operations with the object, yet beware:

"This operation cannot be undone."

btw, anyone prepared for writing a loop to run with the dither value 
of a copyPixels command from 1 to the maxinteger, getting pixel 
changes in sample areas and returning some more of these secret 
'dither eggs' ....?

thanks again Roy,

enjoy all,

Yariv Alter Fin / Marcel van der Drift

[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/LUJ/lingo-l.cgi  To post messages to the list,
email [EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED])
Lingo-L is for learning and helping with programming Lingo.  Thanks!]

Reply via email to