[Gimp-developer] Doing an action for each color in an indexed color-palette
David Gowers
00ai99 at gmail.com
Thu Jul 5 08:17:25 PDT 2007
On 7/5/07, Roberto Uhlig <Roberto.Uhlig at web.de> wrote:
> Hello and best thanks first,
> but it doesn't work correct on my xp-pc with gimp GIMP 2.3.10.
> After private consultation with saul some testing and some changes for windows (backslash \) now it works fine.
> Essential change is, that saul's
> ;; (set! blue (fmod (aref color-map (+ 2 index)) 256))
> doesn't work.
> aref brings sometimes negative eg. -51 values. In that case you have to ad 256 to become the realy color-value for blue.
> So I implementet
> (set! blue (aref color-map (+ 2 index)))
> (if (< blue 0) (set! blue (+ blue 256)))
> and it does his job.
> I've tested it only under WINXP with Gimp 2.3.10 and also with 2.2.11.
>
> Because of a bug in save-tiff-plugin in gimp 2.3.x (I din't know which was the fix) it isn't possible to save black-white (1bit) indexed with older gimp's.
> In my 2.3.10 it works fine.
>
> Where can I find Informations about internals of the color-map int8array data storage, because I found that negative integer values?
I don't know where you can find that info; but I know myself -- Each
image's colormap is made up of sets of 3 bytes (R,G,B); these values
are unsigned. Since you have found you had to add 256 to the values in
that case, it seems to me that script-fu must be wrongly treating the
colormap values as signed values, and this is a bug.
More information about the Gimp-developer
mailing list