"Mark Rasmussen" on  wrote...
| I am trying to create a simple 512x512 pixel image that is comprised of
| 32x32 pixel squares with color values ranging from 0-255. The purpose of the
| exercise is to better understand why some grayscale values seem to be
| converted wrong when switching between file formats. The output file is a
| GIF. The resulting image incorrectly shows the first two squares (upper
| left) as rgb(0,0,0) and the entire color range shifted with the last square
| (lower right) showing as rgb(254,254,254). It seems that the indexed color
| map is being created wrong - perhaps it is reserving one of the colors for
| transparency... I have tried many combinations trying to resolve the issue.
| Here is the command (just start with a 512x512 RGB image called test.gif -
| that will be overwritten each time the command is run):
|  

Problems and suggestions...
 * Read the image BEFORE trying to modifying it.

 * If the image will not have transparency, turn off transparency
   using  +matte.

 * You can specify 'fill' color inside -draw

 * You can NOT use 16 bit values for rgb() see manpage for -fill
   I would love it if a  rgb16()   color specification was available.

 * You only need one draw option!!!!

 * You can even read that draw from a text file (MVG format)
   See http://www.imagemagick.org/Usage/draw/#mvg_file

   For example I got this to work..
     convert -size 512x512 xc: -draw "@draw_colors.mvg" colors.png
   I'll include the "draw_colors.mvg" below.

 * You can generate the colormap using -fx commands
   See..   http://www.imagemagick.org/Usage/quantize/#332_colormap
   as an example of doing this.  That is generate it as one 'pixel' per
   color then scale it up.


You can also do this with a reasonably up-to-date IM (gradient fixed)
I'll let you figure it out ;-)

   convert -size 1x256 gradient: -crop 1x16 +append -transverse \
           -scale 512x512  colors.png

this has 256 colors...

   identify -format %k colors.png
   256

Note for your original problem, save to GIF.

   convert -size 1x256 gradient: -crop 1x16 +append -transverse \
           -scale 512x512 +matte colors.gif

that worked, except that the colors were dithered even though
the number of colors in the image is 256. In fact it was color quantized
down to 32 colors....

   identify -format %k colors.gif
   32

Looks like you have found a bug...

IM should only quantize (for GIF) is the number of colors (after
transparency has been thresholded, is less than 256. However

   convert colors.png +matte -colors 256 -format %k info:
   32

is showing that the color quantization is failing for the case when
   256 colors in image == 256 colors requested.

This is a definate bug, which I have now reported.


In the mean time, use PNG it does produce a correct result.
and is better for intermedite images than GIF (color limited)
and JPEG (lossy).


=======8<--------CUT HERE----------axes/crowbars permitted---------------
fill rgb(0,0,0) rectangle 0,0 31,31
fill rgb(1,1,1) rectangle 32,0 63,31
fill rgb(2,2,2) rectangle 64,0 95,31
fill rgb(3,3,3) rectangle 96,0 127,31
fill rgb(4,4,4) rectangle 128,0 159,31
fill rgb(5,5,5) rectangle 160,0 191,31
fill rgb(6,6,6) rectangle 192,0 223,31
fill rgb(7,7,7) rectangle 224,0 255,31
fill rgb(8,8,8) rectangle 256,0 287,31
fill rgb(9,9,9) rectangle 288,0 319,31
fill rgb(10,10,10) rectangle 320,0 351,31
fill rgb(11,11,11) rectangle 352,0 383,31
fill rgb(12,12,12) rectangle 384,0 415,31
fill rgb(13,13,13) rectangle 416,0 447,31
fill rgb(14,14,14) rectangle 448,0 479,31
fill rgb(15,15,15) rectangle 480,0 511,31
fill rgb(16,16,16) rectangle 0,32 31,63
fill rgb(17,17,17) rectangle 32,32 63,63
fill rgb(18,18,18) rectangle 64,32 95,63
fill rgb(19,19,19) rectangle 96,32 127,63
fill rgb(20,20,20) rectangle 128,32 159,63
fill rgb(21,21,21) rectangle 160,32 191,63
fill rgb(22,22,22) rectangle 192,32 223,63
fill rgb(23,23,23) rectangle 224,32 255,63
fill rgb(24,24,24) rectangle 256,32 287,63
fill rgb(25,25,25) rectangle 288,32 319,63
fill rgb(26,26,26) rectangle 320,32 351,63
fill rgb(27,27,27) rectangle 352,32 383,63
fill rgb(28,28,28) rectangle 384,32 415,63
fill rgb(29,29,29) rectangle 416,32 447,63
fill rgb(30,30,30) rectangle 448,32 479,63
fill rgb(31,31,31) rectangle 480,32 511,63
fill rgb(32,32,32) rectangle 0,64 31,95
fill rgb(33,33,33) rectangle 32,64 63,95
fill rgb(34,34,34) rectangle 64,64 95,95
fill rgb(35,35,35) rectangle 96,64 127,95
fill rgb(36,36,36) rectangle 128,64 159,95
fill rgb(37,37,37) rectangle 160,64 191,95
fill rgb(38,38,38) rectangle 192,64 223,95
fill rgb(39,39,39) rectangle 224,64 255,95
fill rgb(40,40,40) rectangle 256,64 287,95
fill rgb(41,41,41) rectangle 288,64 319,95
fill rgb(42,42,42) rectangle 320,64 351,95
fill rgb(43,43,43) rectangle 352,64 383,95
fill rgb(44,44,44) rectangle 384,64 415,95
fill rgb(45,45,45) rectangle 416,64 447,95
fill rgb(46,46,46) rectangle 448,64 479,95
fill rgb(47,47,47) rectangle 480,64 511,95
fill rgb(48,48,48) rectangle 0,96 31,127
fill rgb(49,49,49) rectangle 32,96 63,127
fill rgb(50,50,50) rectangle 64,96 95,127
fill rgb(51,51,51) rectangle 96,96 127,127
fill rgb(52,52,52) rectangle 128,96 159,127
fill rgb(53,53,53) rectangle 160,96 191,127
fill rgb(54,54,54) rectangle 192,96 223,127
fill rgb(55,55,55) rectangle 224,96 255,127
fill rgb(56,56,56) rectangle 256,96 287,127
fill rgb(57,57,57) rectangle 288,96 319,127
fill rgb(58,58,58) rectangle 320,96 351,127
fill rgb(59,59,59) rectangle 352,96 383,127
fill rgb(60,60,60) rectangle 384,96 415,127
fill rgb(61,61,61) rectangle 416,96 447,127
fill rgb(62,62,62) rectangle 448,96 479,127
fill rgb(63,63,63) rectangle 480,96 511,127
fill rgb(64,64,64) rectangle 0,128 31,159
fill rgb(65,65,65) rectangle 32,128 63,159
fill rgb(66,66,66) rectangle 64,128 95,159
fill rgb(67,67,67) rectangle 96,128 127,159
fill rgb(68,68,68) rectangle 128,128 159,159
fill rgb(69,69,69) rectangle 160,128 191,159
fill rgb(70,70,70) rectangle 192,128 223,159
fill rgb(71,71,71) rectangle 224,128 255,159
fill rgb(72,72,72) rectangle 256,128 287,159
fill rgb(73,73,73) rectangle 288,128 319,159
fill rgb(74,74,74) rectangle 320,128 351,159
fill rgb(75,75,75) rectangle 352,128 383,159
fill rgb(76,76,76) rectangle 384,128 415,159
fill rgb(77,77,77) rectangle 416,128 447,159
fill rgb(78,78,78) rectangle 448,128 479,159
fill rgb(79,79,79) rectangle 480,128 511,159
fill rgb(80,80,80) rectangle 0,160 31,191
fill rgb(81,81,81) rectangle 32,160 63,191
fill rgb(82,82,82) rectangle 64,160 95,191
fill rgb(83,83,83) rectangle 96,160 127,191
fill rgb(84,84,84) rectangle 128,160 159,191
fill rgb(85,85,85) rectangle 160,160 191,191
fill rgb(86,86,86) rectangle 192,160 223,191
fill rgb(87,87,87) rectangle 224,160 255,191
fill rgb(88,88,88) rectangle 256,160 287,191
fill rgb(89,89,89) rectangle 288,160 319,191
fill rgb(90,90,90) rectangle 320,160 351,191
fill rgb(91,91,91) rectangle 352,160 383,191
fill rgb(92,92,92) rectangle 384,160 415,191
fill rgb(93,93,93) rectangle 416,160 447,191
fill rgb(94,94,94) rectangle 448,160 479,191
fill rgb(95,95,95) rectangle 480,160 511,191
fill rgb(96,96,96) rectangle 0,192 31,223
fill rgb(97,97,97) rectangle 32,192 63,223
fill rgb(98,98,98) rectangle 64,192 95,223
fill rgb(99,99,99) rectangle 96,192 127,223
fill rgb(100,100,100) rectangle 128,192 159,223
fill rgb(101,101,101) rectangle 160,192 191,223
fill rgb(102,102,102) rectangle 192,192 223,223
fill rgb(103,103,103) rectangle 224,192 255,223
fill rgb(104,104,104) rectangle 256,192 287,223
fill rgb(105,105,105) rectangle 288,192 319,223
fill rgb(106,106,106) rectangle 320,192 351,223
fill rgb(107,107,107) rectangle 352,192 383,223
fill rgb(108,108,108) rectangle 384,192 415,223
fill rgb(109,109,109) rectangle 416,192 447,223
fill rgb(110,110,110) rectangle 448,192 479,223
fill rgb(111,111,111) rectangle 480,192 511,223
fill rgb(112,112,112) rectangle 0,224 31,255
fill rgb(113,113,113) rectangle 32,224 63,255
fill rgb(114,114,114) rectangle 64,224 95,255
fill rgb(115,115,115) rectangle 96,224 127,255
fill rgb(116,116,116) rectangle 128,224 159,255
fill rgb(117,117,117) rectangle 160,224 191,255
fill rgb(118,118,118) rectangle 192,224 223,255
fill rgb(119,119,119) rectangle 224,224 255,255
fill rgb(120,120,120) rectangle 256,224 287,255
fill rgb(121,121,121) rectangle 288,224 319,255
fill rgb(122,122,122) rectangle 320,224 351,255
fill rgb(123,123,123) rectangle 352,224 383,255
fill rgb(124,124,124) rectangle 384,224 415,255
fill rgb(125,125,125) rectangle 416,224 447,255
fill rgb(126,126,126) rectangle 448,224 479,255
fill rgb(127,127,127) rectangle 480,224 511,255
fill rgb(128,128,128) rectangle 0,256 31,287
fill rgb(129,129,129) rectangle 32,256 63,287
fill rgb(130,130,130) rectangle 64,256 95,287
fill rgb(131,131,131) rectangle 96,256 127,287
fill rgb(132,132,132) rectangle 128,256 159,287
fill rgb(133,133,133) rectangle 160,256 191,287
fill rgb(134,134,134) rectangle 192,256 223,287
fill rgb(135,135,135) rectangle 224,256 255,287
fill rgb(136,136,136) rectangle 256,256 287,287
fill rgb(137,137,137) rectangle 288,256 319,287
fill rgb(138,138,138) rectangle 320,256 351,287
fill rgb(139,139,139) rectangle 352,256 383,287
fill rgb(140,140,140) rectangle 384,256 415,287
fill rgb(141,141,141) rectangle 416,256 447,287
fill rgb(142,142,142) rectangle 448,256 479,287
fill rgb(143,143,143) rectangle 480,256 511,287
fill rgb(144,144,144) rectangle 0,288 31,319
fill rgb(145,145,145) rectangle 32,288 63,319
fill rgb(146,146,146) rectangle 64,288 95,319
fill rgb(147,147,147) rectangle 96,288 127,319
fill rgb(148,148,148) rectangle 128,288 159,319
fill rgb(149,149,149) rectangle 160,288 191,319
fill rgb(150,150,150) rectangle 192,288 223,319
fill rgb(151,151,151) rectangle 224,288 255,319
fill rgb(152,152,152) rectangle 256,288 287,319
fill rgb(153,153,153) rectangle 288,288 319,319
fill rgb(154,154,154) rectangle 320,288 351,319
fill rgb(155,155,155) rectangle 352,288 383,319
fill rgb(156,156,156) rectangle 384,288 415,319
fill rgb(157,157,157) rectangle 416,288 447,319
fill rgb(158,158,158) rectangle 448,288 479,319
fill rgb(159,159,159) rectangle 480,288 511,319
fill rgb(160,160,160) rectangle 0,320 31,351
fill rgb(161,161,161) rectangle 32,320 63,351
fill rgb(162,162,162) rectangle 64,320 95,351
fill rgb(163,163,163) rectangle 96,320 127,351
fill rgb(164,164,164) rectangle 128,320 159,351
fill rgb(165,165,165) rectangle 160,320 191,351
fill rgb(166,166,166) rectangle 192,320 223,351
fill rgb(167,167,167) rectangle 224,320 255,351
fill rgb(168,168,168) rectangle 256,320 287,351
fill rgb(169,169,169) rectangle 288,320 319,351
fill rgb(170,170,170) rectangle 320,320 351,351
fill rgb(171,171,171) rectangle 352,320 383,351
fill rgb(172,172,172) rectangle 384,320 415,351
fill rgb(173,173,173) rectangle 416,320 447,351
fill rgb(174,174,174) rectangle 448,320 479,351
fill rgb(175,175,175) rectangle 480,320 511,351
fill rgb(176,176,176) rectangle 0,352 31,383
fill rgb(177,177,177) rectangle 32,352 63,383
fill rgb(178,178,178) rectangle 64,352 95,383
fill rgb(179,179,179) rectangle 96,352 127,383
fill rgb(180,180,180) rectangle 128,352 159,383
fill rgb(181,181,181) rectangle 160,352 191,383
fill rgb(182,182,182) rectangle 192,352 223,383
fill rgb(183,183,183) rectangle 224,352 255,383
fill rgb(184,184,184) rectangle 256,352 287,383
fill rgb(185,185,185) rectangle 288,352 319,383
fill rgb(186,186,186) rectangle 320,352 351,383
fill rgb(187,187,187) rectangle 352,352 383,383
fill rgb(188,188,188) rectangle 384,352 415,383
fill rgb(189,189,189) rectangle 416,352 447,383
fill rgb(190,190,190) rectangle 448,352 479,383
fill rgb(191,191,191) rectangle 480,352 511,383
fill rgb(192,192,192) rectangle 0,384 31,415
fill rgb(193,193,193) rectangle 32,384 63,415
fill rgb(194,194,194) rectangle 64,384 95,415
fill rgb(195,195,195) rectangle 96,384 127,415
fill rgb(196,196,196) rectangle 128,384 159,415
fill rgb(197,197,197) rectangle 160,384 191,415
fill rgb(198,198,198) rectangle 192,384 223,415
fill rgb(199,199,199) rectangle 224,384 255,415
fill rgb(200,200,200) rectangle 256,384 287,415
fill rgb(201,201,201) rectangle 288,384 319,415
fill rgb(202,202,202) rectangle 320,384 351,415
fill rgb(203,203,203) rectangle 352,384 383,415
fill rgb(204,204,204) rectangle 384,384 415,415
fill rgb(205,205,205) rectangle 416,384 447,415
fill rgb(206,206,206) rectangle 448,384 479,415
fill rgb(207,207,207) rectangle 480,384 511,415
fill rgb(208,208,208) rectangle 0,416 31,447
fill rgb(209,209,209) rectangle 32,416 63,447
fill rgb(210,210,210) rectangle 64,416 95,447
fill rgb(211,211,211) rectangle 96,416 127,447
fill rgb(212,212,212) rectangle 128,416 159,447
fill rgb(213,213,213) rectangle 160,416 191,447
fill rgb(214,214,214) rectangle 192,416 223,447
fill rgb(215,215,215) rectangle 224,416 255,447
fill rgb(216,216,216) rectangle 256,416 287,447
fill rgb(217,217,217) rectangle 288,416 319,447
fill rgb(218,218,218) rectangle 320,416 351,447
fill rgb(219,219,219) rectangle 352,416 383,447
fill rgb(220,220,220) rectangle 384,416 415,447
fill rgb(221,221,221) rectangle 416,416 447,447
fill rgb(222,222,222) rectangle 448,416 479,447
fill rgb(223,223,223) rectangle 480,416 511,447
fill rgb(224,224,224) rectangle 0,448 31,479
fill rgb(225,225,225) rectangle 32,448 63,479
fill rgb(226,226,226) rectangle 64,448 95,479
fill rgb(227,227,227) rectangle 96,448 127,479
fill rgb(228,228,228) rectangle 128,448 159,479
fill rgb(229,229,229) rectangle 160,448 191,479
fill rgb(230,230,230) rectangle 192,448 223,479
fill rgb(231,231,231) rectangle 224,448 255,479
fill rgb(232,232,232) rectangle 256,448 287,479
fill rgb(233,233,233) rectangle 288,448 319,479
fill rgb(234,234,234) rectangle 320,448 351,479
fill rgb(235,235,235) rectangle 352,448 383,479
fill rgb(236,236,236) rectangle 384,448 415,479
fill rgb(237,237,237) rectangle 416,448 447,479
fill rgb(238,238,238) rectangle 448,448 479,479
fill rgb(239,239,239) rectangle 480,448 511,479
fill rgb(240,240,240) rectangle 0,480 31,511
fill rgb(241,241,241) rectangle 32,480 63,511
fill rgb(242,242,242) rectangle 64,480 95,511
fill rgb(243,243,243) rectangle 96,480 127,511
fill rgb(244,244,244) rectangle 128,480 159,511
fill rgb(245,245,245) rectangle 160,480 191,511
fill rgb(246,246,246) rectangle 192,480 223,511
fill rgb(247,247,247) rectangle 224,480 255,511
fill rgb(248,248,248) rectangle 256,480 287,511
fill rgb(249,249,249) rectangle 288,480 319,511
fill rgb(250,250,250) rectangle 320,480 351,511
fill rgb(251,251,251) rectangle 352,480 383,511
fill rgb(252,252,252) rectangle 384,480 415,511
fill rgb(253,253,253) rectangle 416,480 447,511
fill rgb(254,254,254) rectangle 448,480 479,511
fill rgb(255,255,255) rectangle 480,480 511,511
=======8<--------CUT HERE----------axes/crowbars permitted---------------


  Anthony Thyssen ( System Programmer )    <[EMAIL PROTECTED]>
 -----------------------------------------------------------------------------
  "We've heard that a million monkeys at a million keyboards could produce
  the "Complete Works of Shakespeare";  now thanks to the Internet, we know
  that this in NOT true."       -- Robert Wilensky, University of Califonia
 -----------------------------------------------------------------------------
     Anthony's Home is his Castle     http://www.cit.gu.edu.au/~anthony/
_______________________________________________
Magick-users mailing list
[email protected]
http://studio.imagemagick.org/mailman/listinfo/magick-users

Reply via email to