[Image-SIG] Help colors
Oliver Albrecht
550283447739-0001 at t-online.de
Tue May 31 11:03:12 CEST 2005
Greetings,
I'm new to Python and trying to use PIL to:
- Wich Colorreduce Method used PIL other as "Web"?
"Octree" , "Median" ?
- Why has the GIF format double size? (I use PSP as Graphic-program )
- How discover the nearest color?
x= (r1,g1,b1) - (r,g,b)
y= (r2,g2,b2) - (r,g,b)
if pos(x) > pos(y): nearest=y
else: nearest=x
I want make a script to switch the colorpalette from images.
# numerate all pixel(palette_Id)
MapL=list(enumerate(data_list))
# turn round nr/palette_Id
MapL= [(b, [a]) for a, b in MapL]
MapL.sort()
Listshort=[("",[""])]
# delete all double palette_Id but put the key(nr) to it
for value, key in MapL:
if value != Listshort[-1][0]:
Listshort.append((value,key))
else:
Listshort[-1][1].extend(key)
Listshort=sorted(Listshort[1:])
# now load a other palette and compare this
sorted(palette1,palette2)
# then switch the palette_Ids in Listshort and reinsert it as im.data
If it give another, better way tell it me. else i will post the
completed script.
tiny-fault-report:
I think in the PIL-Beta-Docu this Example is an fault.
http://effbot.org/imagingbook/imagepalette.htm
##Getting the Palette Contents Using Resize/Convert
assert im.mode == "P"
lut = im.resize((256, 1))
lut.putdata(range(256))
lut = im.convert("RGB").getdata()
^^
# lut now contains a sequence of (r, g, b) tuples
"lut" has the sequence from "im" but not from "lut.putdata(range(256))"
"lut" is a copy from "im" but "im" is not resized.
--
<!--Olliminatore-->
More information about the Image-SIG
mailing list