--- a/Depth8Image.st Fri Apr 29 12:30:03 2016 +0200
+++ b/Depth8Image.st Fri Apr 29 12:34:27 2016 +0200
@@ -1898,9 +1898,9 @@
y1 "{ Class: SmallInteger }"
y2 "{ Class: SmallInteger }"
colorArray
- maxColor bytes|
+ maxColor pixelBytes lastPixel lastColor|
- bytes := self bits.
+ pixelBytes := self bits.
x1 := xStart.
x2 := xEnd.
@@ -1914,17 +1914,21 @@
maxColor := colorArray size.
y1 to:y2 do:[:y |
- srcNext := srcIndex + bytesPerRow.
- x1 to:x2 do:[:x |
- value := bytes at:srcIndex ifAbsent:0.
- srcIndex := srcIndex + 1.
+ srcNext := srcIndex + bytesPerRow.
+ x1 to:x2 do:[:x |
+ value := pixelBytes at:srcIndex ifAbsent:0.
+ srcIndex := srcIndex + 1.
- value >= maxColor ifTrue:[
- value := 0.
- ].
- aBlock value:x value:y value:(colorArray at:value+1)
- ].
- srcIndex := srcNext.
+ value ~~ lastPixel ifTrue:[
+ lastPixel := value.
+ value >= maxColor ifTrue:[
+ value := 0.
+ ].
+ lastColor := colorArray at:value+1.
+ ].
+ aBlock value:x value:y value:lastColor
+ ].
+ srcIndex := srcNext.
].
"Created: / 7.6.1996 / 19:12:35 / cg"