diff options
Diffstat (limited to 'dmagick')
| -rw-r--r-- | dmagick/Color.d | 10 | ||||
| -rw-r--r-- | dmagick/ImageView.d | 5 |
2 files changed, 13 insertions, 2 deletions
diff --git a/dmagick/Color.d b/dmagick/Color.d index 94b6906..7223d81 100644 --- a/dmagick/Color.d +++ b/dmagick/Color.d @@ -79,11 +79,19 @@ class Color this.packet = packet; } - PixelPacket pixelPacket() + package PixelPacket pixelPacket() const { return *packet; } + package void pixelPacket(PixelPacket packet) + { + this.packet.red = packet.red; + this.packet.green = packet.green; + this.packet.blue = packet.blue; + this.packet.opacity = packet.opacity; + } + override bool opEquals(Object obj) { Color color = cast(Color)obj; diff --git a/dmagick/ImageView.d b/dmagick/ImageView.d index fbce73c..709c81f 100644 --- a/dmagick/ImageView.d +++ b/dmagick/ImageView.d @@ -362,9 +362,12 @@ struct Pixels */ int opApply(int delegate(ref Color) dg) { + Color color = new Color(); + foreach ( ref PixelPacket pixel; pixels ) { - Color color = new Color(pixel); + color.pixelPacket = pixel; + int result = dg(color); pixel = color.pixelPacket; |
