diff --git a/MagickCore/image.c b/MagickCore/image.c
index 742d480..c31f1a3 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -2433,6 +2433,9 @@
PixelInfo
background;
+ PixelInfo
+ pixel;
+
ssize_t
y;
@@ -2443,7 +2446,9 @@
break;
if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
break;
- background=image->background_color;
+ GetPixelInfo(image,&background);
+ SetPixelInfoPacket(image,&image->background_color,&background);
+ SetPacketPixelInfo(image,&background,&pixel);
image_view=AcquireCacheView(image);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(dynamic,4) shared(status)
@@ -2501,7 +2506,8 @@
/*
Reset all color channels to background color.
*/
- background=image->background_color;
+ GetPixelInfo(image,&background);
+ SetPixelInfoPacket(image,&(image->background_color),&background);
(void) LevelImageColors(image,&background,&background,MagickTrue,
exception);
}
@@ -2583,6 +2589,9 @@
PixelInfo
background;
+ PixelInfo
+ pixel;
+
ssize_t
y;
@@ -2595,11 +2604,13 @@
if (image->background_color.alpha != OpaqueAlpha)
image->matte=MagickTrue;
GetPixelInfo(image,&background);
- background=image->background_color;
+ SetPixelInfoPacket(image,&image->background_color,&background);
+ SetPacketPixelInfo(image,&background,&pixel);
/*
Set image background color.
*/
status=MagickTrue;
+ pixel.black=0;
image_view=AcquireCacheView(image);
for (y=0; y < (ssize_t) image->rows; y++)
{