mirror of
https://github.com/ImageMagick/ImageMagick.git
synced 2026-05-31 11:18:42 +02:00
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
2019-09-30 7.0.8-68 Cristy <quetzlzacatenango@image...>
|
||||
* Support animated WebP encoding/decoding (reference
|
||||
https://github.com/ImageMagick/ImageMagick/pull/1708).
|
||||
* Text stroke cut off (reference
|
||||
https://imagemagick.org/discourse-server/viewtopic.php?f=1&t=36829).
|
||||
|
||||
2019-09-29 7.0.8-67 Cristy <quetzlzacatenango@image...>
|
||||
* Release ImageMagick version 7.0.8-67, GIT revision 16145:6f2feb9:20190929.
|
||||
|
||||
@@ -1847,7 +1847,7 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
|
||||
*/
|
||||
if ((Sca*Da) < (Dca*Sa))
|
||||
{
|
||||
pixel=QuantumRange*(Sca+Dca*(1.0-Sa));
|
||||
pixel=QuantumRange*gamma*(Sca+Dca*(1.0-Sa));
|
||||
break;
|
||||
}
|
||||
pixel=QuantumRange*(Dca+Sca*(1.0-Da));
|
||||
@@ -1915,12 +1915,12 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
|
||||
}
|
||||
case DstInCompositeOp:
|
||||
{
|
||||
pixel=QuantumRange*(Dca*Sa);
|
||||
pixel=QuantumRange*gamma*(Dca*Sa);
|
||||
break;
|
||||
}
|
||||
case DstOutCompositeOp:
|
||||
{
|
||||
pixel=QuantumRange*(Dca*(1.0-Sa));
|
||||
pixel=QuantumRange*gamma*(Dca*(1.0-Sa));
|
||||
break;
|
||||
}
|
||||
case DstOverCompositeOp:
|
||||
@@ -1980,7 +1980,7 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
|
||||
case InCompositeOp:
|
||||
case SrcInCompositeOp:
|
||||
{
|
||||
pixel=QuantumRange*(Sca*Da);
|
||||
pixel=QuantumRange*gamma*(Sca*Da);
|
||||
break;
|
||||
}
|
||||
case LinearBurnCompositeOp:
|
||||
@@ -2014,10 +2014,10 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
|
||||
{
|
||||
if ((Sca*Da) > (Dca*Sa))
|
||||
{
|
||||
pixel=QuantumRange*(Sca+Dca*(1.0-Sa));
|
||||
pixel=QuantumRange*gamma*(Sca+Dca*(1.0-Sa));
|
||||
break;
|
||||
}
|
||||
pixel=QuantumRange*(Dca+Sca*(1.0-Da));
|
||||
pixel=QuantumRange*gamma*(Dca+Sca*(1.0-Da));
|
||||
break;
|
||||
}
|
||||
case LightenIntensityCompositeOp:
|
||||
@@ -2189,7 +2189,7 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
|
||||
*/
|
||||
if (fabs((double) Da) < MagickEpsilon)
|
||||
{
|
||||
pixel=QuantumRange*gamma*(Sca);
|
||||
pixel=QuantumRange*gamma*Sca;
|
||||
break;
|
||||
}
|
||||
pixel=QuantumRange*gamma*(Dca*Dca*(Sa-2.0*Sca)/Da+Sca*(2.0*Dca+1.0-
|
||||
@@ -2323,7 +2323,7 @@ MagickExport MagickBooleanType CompositeImage(Image *image,
|
||||
}
|
||||
case XorCompositeOp:
|
||||
{
|
||||
pixel=QuantumRange*(Sca*(1.0-Da)+Dca*(1.0-Sa));
|
||||
pixel=QuantumRange*gamma*(Sca*(1.0-Da)+Dca*(1.0-Sa));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
+7
-2
@@ -120,6 +120,9 @@ static Image *ReadCAPTIONImage(const ImageInfo *image_info,
|
||||
height,
|
||||
width;
|
||||
|
||||
size_t
|
||||
offset;
|
||||
|
||||
TypeMetric
|
||||
metrics;
|
||||
|
||||
@@ -302,10 +305,12 @@ static Image *ReadCAPTIONImage(const ImageInfo *image_info,
|
||||
i=FormatMagickCaption(image,draw_info,split,&metrics,&caption,exception);
|
||||
(void) CloneString(&draw_info->text,caption);
|
||||
caption=DestroyString(caption);
|
||||
offset=(ssize_t) (draw_info->stroke_width/2.0);
|
||||
(void) FormatLocaleString(geometry,MagickPathExtent,"%+g%+g",MagickMax(
|
||||
draw_info->direction == RightToLeftDirection ? (double) image->columns-
|
||||
metrics.bounds.x2 : -metrics.bounds.x1,0.0),draw_info->gravity ==
|
||||
UndefinedGravity ? MagickMax(metrics.ascent,metrics.bounds.y2) : 0.0);
|
||||
metrics.bounds.x2 : -metrics.bounds.x1,0.0)+offset,(draw_info->gravity ==
|
||||
UndefinedGravity ? MagickMax(metrics.ascent,metrics.bounds.y2) : 0.0)+
|
||||
offset);
|
||||
(void) CloneString(&draw_info->geometry,geometry);
|
||||
status=AnnotateImage(image,draw_info,exception);
|
||||
if (image_info->pointsize == 0.0)
|
||||
|
||||
+7
-3
@@ -110,6 +110,9 @@ static Image *ReadLABELImage(const ImageInfo *image_info,
|
||||
height,
|
||||
width;
|
||||
|
||||
ssize_t
|
||||
offset;
|
||||
|
||||
/*
|
||||
Initialize Image structure.
|
||||
*/
|
||||
@@ -254,10 +257,11 @@ static Image *ReadLABELImage(const ImageInfo *image_info,
|
||||
/*
|
||||
Draw label.
|
||||
*/
|
||||
offset=(ssize_t) (draw_info->stroke_width/2.0);
|
||||
(void) FormatLocaleString(geometry,MagickPathExtent,"%+g%+g",
|
||||
draw_info->direction == RightToLeftDirection ? (double) image->columns-
|
||||
metrics.bounds.x2 : 0.0,draw_info->gravity == UndefinedGravity ?
|
||||
MagickMax(metrics.ascent,metrics.bounds.y2) : 0.0);
|
||||
(draw_info->direction == RightToLeftDirection ? (double) image->columns-
|
||||
metrics.bounds.x2 : 0.0)+offset,(draw_info->gravity == UndefinedGravity ?
|
||||
MagickMax(metrics.ascent,metrics.bounds.y2) : 0.0)+offset);
|
||||
(void) CloneString(&draw_info->geometry,geometry);
|
||||
status=AnnotateImage(image,draw_info,exception);
|
||||
if (image_info->pointsize == 0.0)
|
||||
|
||||
Reference in New Issue
Block a user