"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
