[Newbies] Coloring images with transparant parts
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
ifFalse: [each alphaMixed: 0.4 with: color]].
origForm colors: anArray.
Exactly what I wanted :-)
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