ImageEditor.st
changeset 3103 690eff6e417e
parent 3100 d2310ff3cbab
child 3121 b88abf599041
equal deleted inserted replaced
3102:41fb8ae89eac 3103:690eff6e417e
  4927                 colorMapMode value:prevMode.
  4927                 colorMapMode value:prevMode.
  4928                 imageEditView undo.
  4928                 imageEditView undo.
  4929                 ^ self warn:(resources string:'Conversion failed !!')
  4929                 ^ self warn:(resources string:'Conversion failed !!')
  4930             ] do:[
  4930             ] do:[
  4931                 newImage := Image newForDepth:depth.
  4931                 newImage := Image newForDepth:depth.
  4932                 newImage width:oldImage width height:oldImage height depth:depth.
  4932                 newImage 
  4933                 newImage colorMap:newColorMap.
  4933                     width:oldImage width height:oldImage height depth:depth;
  4934                 newImage photometric:#palette.
  4934                     colorMap:newColorMap;
  4935                 newImage bits:(ByteArray new:(newImage bytesPerRow * newImage height)).
  4935                     photometric:#palette;
       
  4936                     bits:(ByteArray new:(newImage bytesPerRow * newImage height));
       
  4937                     mask:oldImage mask.
  4936 
  4938 
  4937                 oldImage colorsFromX:0 y:0 toX:(oldImage width-1) y:(oldImage height-1) do:
  4939                 oldImage colorsFromX:0 y:0 toX:(oldImage width-1) y:(oldImage height-1) do:
  4938                 [:x :y :clr |
  4940                 [:x :y :clr |
  4939                     |newColor|
  4941                     |newColor|
  4940 
  4942 
  4951                     newImage colorAtX:x y:y put:newColor.
  4953                     newImage colorAtX:x y:y put:newColor.
  4952                 ].
  4954                 ].
  4953                 image := newImage
  4955                 image := newImage
  4954             ].
  4956             ].
  4955         ] do:[ 
  4957         ] do:[ 
  4956             image := newImage fromImage:oldImage.
  4958             image := newImage fromImage:oldImage photometric:newImage photometric.
  4957         ].
  4959         ].
  4958 
  4960 
  4959         (aMode asString startsWith:'mask') ifTrue:[
  4961         (aMode asString startsWith:'mask') ifTrue:[
  4960             image mask isNil ifTrue:[
  4962             image mask isNil ifTrue:[
  4961                 false "(Dialog confirm:'Generate mask from black ?' default:false)" ifTrue:[
  4963                 false "(Dialog confirm:'Generate mask from black ?' default:false)" ifTrue:[
  5363     oldImage photometric ~~ #palette ifTrue:[
  5365     oldImage photometric ~~ #palette ifTrue:[
  5364         self information:'Compress colorMap: Only palette images have colormaps.'.
  5366         self information:'Compress colorMap: Only palette images have colormaps.'.
  5365         ^ self
  5367         ^ self
  5366     ].
  5368     ].
  5367     depth := oldImage depth.
  5369     depth := oldImage depth.
  5368     colorMap := oldImage colorMap asArray asSet.
  5370     colorMap := oldImage colorMap asArray.
  5369     usedColors := oldImage realUsedColors.
  5371     usedColors := oldImage realUsedColors.
  5370     usedColors size == colorMap size ifTrue:[
  5372     usedColors size == colorMap size ifTrue:[
  5371         self information:'Compress colorMap: Colormap already compressed - no compression.'.
  5373         self information:'Compress colorMap: Colormap already compressed - no compression.'.
  5372         ^ self
  5374         ^ self
  5373     ].
  5375     ].