summaryrefslogtreecommitdiff
path: root/dmagick/Image.d
diff options
context:
space:
mode:
Diffstat (limited to 'dmagick/Image.d')
-rw-r--r--dmagick/Image.d36
1 files changed, 13 insertions, 23 deletions
diff --git a/dmagick/Image.d b/dmagick/Image.d
index 84bb2b3..7ccffb8 100644
--- a/dmagick/Image.d
+++ b/dmagick/Image.d
@@ -1355,18 +1355,14 @@ class Image
if ( fillToBorder )
{
- target.red = borderColor.redQuantum;
- target.green = borderColor.greenQuantum;
- target.blue = borderColor.blueQuantum;
+ setMagickPixelPacket(&target, borderColor);
}
else
{
PixelPacket packet;
GetOneAuthenticPixel(imageRef, xOffset, yOffset, &packet, DMagickExceptionInfo());
- target.red = packet.red;
- target.green = packet.green;
- target.blue = packet.blue;
+ setMagickPixelPacket(&target, new Color(packet));
}
FloodfillPaintImage(imageRef, channel, options.drawInfo, &target, xOffset, yOffset, fillToBorder);
@@ -1921,14 +1917,6 @@ class Image
GetMagickPixelPacket(imageRef, &magickTarget);
GetMagickPixelPacket(imageRef, &magickFill);
- void setMagickPixelPacket(MagickPixelPacket* magick, Color color)
- {
- magick.red = color.redQuantum;
- magick.green = color.greenQuantum;
- magick.blue = color.blueQuantum;
- magick.opacity = color.opacityQuantum;
- }
-
setMagickPixelPacket(&magickTarget, target);
setMagickPixelPacket(&magickFill, fill);
@@ -2795,9 +2783,7 @@ class Image
MagickPixelPacket target;
GetMagickPixelPacket(imageRef, &target);
- target.red = color.redQuantum;
- target.green = color.greenQuantum;
- target.blue = color.blueQuantum;
+ setMagickPixelPacket(&target, color);
TransparentPaintImage(imageRef, &target, opacity, invert);
DMagickException.throwException(&(imageRef.exception));
@@ -2827,14 +2813,10 @@ class Image
MagickPixelPacket highTarget;
GetMagickPixelPacket(imageRef, &lowTarget);
- lowTarget.red = low.redQuantum;
- lowTarget.green = low.greenQuantum;
- lowTarget.blue = low.blueQuantum;
+ setMagickPixelPacket(&lowTarget, low);
GetMagickPixelPacket(imageRef, &highTarget);
- highTarget.red = high.redQuantum;
- highTarget.green = high.greenQuantum;
- highTarget.blue = high.blueQuantum;
+ setMagickPixelPacket(&highTarget, high);
TransparentPaintImageChroma(imageRef, &lowTarget, &highTarget, opacity, invert);
DMagickException.throwException(&(imageRef.exception));
@@ -3927,6 +3909,14 @@ class Image
//Other unimplemented porperties
//pixelColor
+ private void setMagickPixelPacket(MagickPixelPacket* magick, Color color)
+ {
+ magick.red = color.redQuantum;
+ magick.green = color.greenQuantum;
+ magick.blue = color.blueQuantum;
+ magick.opacity = color.opacityQuantum;
+ }
+
private template getStorageType(T)
{
static if ( is( T == byte) )