[Newbies] Coloring images with transparant parts

Matthias Korn matthias.korn at uni-siegen.de
Sat Nov 22 19:43:35 UTC 2008


Thanks a lot Bert!
I have it with the following now.

   color := Color random.
   anArray := origForm colors collect:
      [:each | each isTransparent
         ifTrue: [each]
         ifFalse: [each alphaMixed: 0.4 with: color]].
   origForm colors: anArray.

Exactly what I wanted :-)

Regards,
Matthias


Am Sat, 22 Nov 2008 16:29:36 +0100
schrieb Bert Freudenberg <bert at freudenbergs.de>:

> Off the top of my head, this should make a nice rainbow palette:
> 
> 	anArray := (1 to: 256) collect:
> 		[:i | Color h: i*360/256 s: 1 v: 1].
> 	someColorForm colors: anArray.
> 
> So basically the color map is simply an array of Colors.
> 
> - Bert -
> 
> On 22.11.2008, at 13:07, Matthias Korn wrote:
> 
> > Hi Bert,
> >
> > I have quite a hard time understanding how to use color maps. And I
> > really did not find any helpful documentation on them for Squeak.
> >
> > One example I found in the image is in BitBlt
> > class>>exampleColorMap. But I don't know how to use it with a
> > class>>Form/BitBlt, well, and what the
> > heck they are actually doing there...
> > In most occasions they used the Bitmap class instead of ColorMap
> > and I couldn't find anything to convert.
> >
> > Could you provide a simple code example on how to modify the color
> > map of a Form? Or any other pointers....
> >
> > Thanks a lot,
> > Matthias
> >
> >
> > Am Sat, 22 Nov 2008 01:58:33 +0100
> > schrieb Bert Freudenberg <bert at freudenbergs.de>:
> >
> >> On 22.11.2008, at 01:15, Matthias Korn wrote:
> >>
> >>> Hi,
> >>>
> >>> thanks for your hints. I also found ColorForm>>replaceColor:with:
> >>> which
> >>> does what you describe. But it is unfortunately not what I was
> >>> looking for. I wasn't very clear in my original post:
> >>>
> >>> I (now) have a gray-scale image which I want to colorize, that is
> >>> I want to change the hue of the image and not just replace a color
> >>> with another (or floodfill for that matter).
> >>>
> >>> Hope you guys have some ideas. I tried searching with the Method
> >>> Finder,
> >>> but my poor english didn't take me very far.
> >>
> >>
> >> Use a color map. Your grayscale image could be 8 bits, so with a
> >> 256 entries palette you can map that to any color(s) you want.
> >> Color maps are used in ColorForm, or directly with BitBlt.
> >>
> >> - Bert -


More information about the Beginners mailing list