# HG changeset patch # User Claus Gittinger # Date 1123253067 -7200 # Node ID 99d611caf3bdac286fd3226ecaa32b8fd96688c8 # Parent 73fb270a4da9b79d598c480d20f1d63923c93974 *** empty log message *** diff -r 73fb270a4da9 -r 99d611caf3bd ImageEditor.st --- a/ImageEditor.st Fri Aug 05 16:26:02 2005 +0200 +++ b/ImageEditor.st Fri Aug 05 16:44:27 2005 +0200 @@ -4356,13 +4356,26 @@ ! reduceNumberOfColors2 - |s rnd usedColors image newImage| - - s := Dialog request:'Rounding Interval (2..) ?' initialAnswer:2. + |s rndR rndG rndB usedColors image newImage| + + s := Dialog request:'Rounding Interval red (2..) ?' initialAnswer:4. s size == 0 ifTrue:[^ self]. - - rnd := Integer readFrom:s onError:0. - (rnd > 1) ifFalse:[ + rndR := Integer readFrom:s onError:0. + (rndR > 1) ifFalse:[ + Dialog warn:'Image unchanged'. + ^ self + ]. + s := Dialog request:'Rounding Interval green (2..) ?' initialAnswer:2. + s size == 0 ifTrue:[^ self]. + rndG := Integer readFrom:s onError:0. + (rndG > 1) ifFalse:[ + Dialog warn:'Image unchanged'. + ^ self + ]. + s := Dialog request:'Rounding Interval blue (2..) ?' initialAnswer:10. + s size == 0 ifTrue:[^ self]. + rndB := Integer readFrom:s onError:0. + (rndB > 1) ifFalse:[ Dialog warn:'Image unchanged'. ^ self ]. @@ -4381,9 +4394,9 @@ r := clr redByte. g := clr greenByte. b := clr blueByte. - nr := (r roundTo:rnd) min:255. - ng := (g roundTo:rnd) min:255. - nb := (b roundTo:rnd) min:255. + nr := (r roundTo:rndR) min:255. + ng := (g roundTo:rndG) min:255. + nb := (b roundTo:rndB) min:255. newClr := Color redByte:nr greenByte:ng blueByte:nb. newImage colorAtX:x y:y put:newClr