9 #define MAGICKCORE_IMPLEMENTATION 1
10 #define MAGICK_PLUSPLUS_IMPLEMENTATION 1
28 #define AbsoluteValue(x) ((x) < 0 ? -(x) : (x))
29 #define MagickPI 3.14159265358979323846264338327950288419716939937510
30 #define DegreesToRadians(x) (MagickPI*(x)/180.0)
31 #define ThrowImageException ThrowPPException(quiet())
41 return((left_.
rows() == right_.
rows()) &&
49 return(!(left_ == right_));
55 return(!(left_ < right_) && (left_ != right_));
69 return((left_ > right_) || (left_ == right_));
75 return((left_ < right_) || (left_ == right_));
127 read(blob_,size_,depth_);
139 const size_t depth_,
const std::string &magick_)
146 read(blob_,size_,depth_,magick_);
158 const std::string &magick_)
165 read(blob_,size_,magick_);
180 std::string imageSpec(
"xc:");
202 : _imgRef(image_._imgRef)
204 Lock lock(&_imgRef->_mutexLock);
207 ++_imgRef->_refCount;
224 MagickTrue,exceptionInfo);
235 const std::string &map_,
const StorageType type_,
const void *pixels_)
241 read(width_,height_,map_,type_,pixels_);
276 Lock lock(&_imgRef->_mutexLock);
277 if (--_imgRef->_refCount == 0)
295 Lock lock(&image_._imgRef->_mutexLock);
296 ++image_._imgRef->_refCount;
300 Lock lock(&_imgRef->_mutexLock);
301 if (--_imgRef->_refCount == 0)
313 _imgRef=image_._imgRef;
322 options()->adjoin(flag_);
327 return(constOptions()->adjoin());
333 options()->antiAlias(flag_);
338 return(constOptions()->antiAlias());
344 image()->delay=delay_;
349 return(constImage()->delay);
355 image()->iterations=iterations_;
360 return(constImage()->iterations);
366 value[MaxTextExtent];
369 FormatLocaleString(value,MaxTextExtent,
"%.20g",attenuate_);
370 (void) SetImageArtifact(image(),
"attenuate",value);
377 if (backgroundColor_.
isValid())
378 image()->background_color=backgroundColor_;
380 image()->background_color=
Color();
382 options()->backgroundColor(backgroundColor_);
387 return(constOptions()->backgroundColor());
393 options()->backgroundTexture(backgroundTexture_);
398 return(constOptions()->backgroundTexture());
403 return(constImage()->magick_columns);
408 return(std::string(constImage()->magick_filename));
413 return(constImage()->magick_rows);
418 image()->black_point_compensation=(MagickBooleanType) flag_;
423 return(static_cast<bool>(constImage()->black_point_compensation));
431 image()->border_color=borderColor_;
433 image()->border_color=
Color();
435 options()->borderColor(borderColor_);
440 return(constOptions()->borderColor());
449 bbox=GetImageBoundingBox(constImage(),exceptionInfo);
457 options()->boxColor(boxColor_);
462 return(constOptions()->boxColor());
472 if (classType() == PseudoClass && class_ == DirectClass)
478 image()->colormap=(PixelPacket *)RelinquishMagickMemory(
480 image()->storage_class=
static_cast<MagickCore::ClassType
>(DirectClass);
482 else if (classType() == DirectClass && class_ == PseudoClass)
486 quantizeColors(MaxColormapSize);
488 image()->storage_class=
static_cast<MagickCore::ClassType
>(PseudoClass);
497 SetImageClipMask(image(),clipMask_.
constImage());
499 SetImageClipMask(image(),0);
508 image=GetImageClipMask(constImage(),exceptionInfo);
521 options()->colorFuzz(fuzz_);
526 return(constOptions()->colorFuzz());
531 if (entries_ > MaxColormapSize)
533 "Colormap entries must not exceed MaxColormapSize");
536 (void) AcquireImageColormap(image(),entries_);
541 if (!constImage()->colormap)
544 return(constImage()->colors);
549 if (image()->colorspace == colorSpace_)
553 TransformImageColorspace(image(),colorSpace_);
554 throwImageException();
559 return(constImage()->colorspace);
565 SetImageColorspace(image(),colorSpace_);
566 throwImageException();
567 options()->colorspaceType(colorSpace_);
572 return(constOptions()->colorspaceType());
578 SetImageProperty(image(),
"Comment",NULL);
579 if (comment_.length() > 0)
580 SetImageProperty(image(),
"Comment",comment_.c_str());
581 throwImageException();
589 value=GetImageProperty(constImage(),
"Comment");
592 return(std::string(value));
594 return(std::string());
599 image()->compose=compose_;
604 return(constImage()->compose);
610 image()->compression=compressType_;
611 options()->compressType(compressType_);
616 return(constImage()->compression);
622 options()->debug(flag_);
627 return(constOptions()->debug());
633 options()->density(density_);
636 image()->x_resolution=density_.
width();
637 if (density_.
height() != 0)
638 image()->y_resolution=density_.
height();
640 image()->y_resolution=density_.
width();
645 image()->x_resolution=0;
646 image()->y_resolution=0;
658 if (constImage()->x_resolution > 0.0)
659 x_resolution=
static_cast<ssize_t
>(constImage()->x_resolution + 0.5);
661 if (constImage()->y_resolution > 0.0)
662 y_resolution=
static_cast<ssize_t
>(constImage()->y_resolution + 0.5);
664 return(
Geometry(x_resolution,y_resolution));
667 return(constOptions()->density());
675 if (depth > MAGICKCORE_QUANTUM_DEPTH)
676 depth=MAGICKCORE_QUANTUM_DEPTH;
679 image()->depth=depth;
680 options()->depth(depth);
685 return(constImage()->depth);
690 if (constImage()->directory)
691 return(std::string(constImage()->directory));
694 "Image does not contain a directory");
696 return(std::string());
702 options()->endian(endian_);
703 image()->endian=endian_;
708 return(constImage()->endian);
713 if (exifProfile_.
data() != 0)
719 exif_profile=AcquireStringInfo(exifProfile_.
length());
720 SetStringInfoDatum(exif_profile,(
unsigned char *) exifProfile_.
data());
721 (void) SetImageProfile(image(),
"exif",exif_profile);
722 exif_profile=DestroyStringInfo(exif_profile);
731 exif_profile=GetImageProfile(constImage(),
"exif");
732 if (exif_profile == (StringInfo *) NULL)
735 return(
Blob(GetStringInfoDatum(exif_profile),GetStringInfoLength(
743 fileName_.copy(image()->filename,
sizeof(image()->filename)-1);
744 image()->filename[fileName_.length()]=0;
746 options()->fileName(fileName_);
751 return(constOptions()->fileName());
756 return((off_t) GetBlobSize(constImage()));
762 options()->fillColor(fillColor_);
767 return(constOptions()->fillColor());
773 options()->fillRule(fillRule_);
778 return(constOptions()->fillRule());
785 options()->fillPattern(fillPattern_.
constImage());
787 options()->fillPattern(static_cast<MagickCore::Image*>(NULL));
807 image=CloneImage(tmpTexture,0,0,MagickTrue,exceptionInfo);
818 image()->filter=filterType_;
823 return(constImage()->filter);
829 options()->font(font_);
834 return(constOptions()->font());
840 options()->fontFamily(family_);
845 return(constOptions()->fontFamily());
852 options()->fontPointsize(pointSize_);
857 return(constOptions()->fontPointsize());
866 magick_info=GetMagickInfo(constImage()->magick,exceptionInfo);
869 if ((magick_info != 0) && (*magick_info->description !=
'\0'))
870 return(std::string(magick_info->description));
873 return(std::string());
879 options()->fontStyle(pointSize_);
884 return(constOptions()->fontStyle());
890 options()->fontWeight(weight_);
895 return(constOptions()->fontWeight());
908 text=InterpretImageProperties(constImageInfo(),image(),expression.c_str());
909 if (text != (
char *) NULL)
911 text_string=std::string(text);
912 text=DestroyString(text);
914 throwImageException();
920 return(constImage()->gamma);
925 if (constImage()->geometry)
926 return(
Geometry(constImage()->geometry));
936 image()->dispose=(DisposeType) disposeMethod_;
942 return ((
size_t) constImage()->dispose);
951 artifact(
"highlight-color",value);
956 profile(
"icc",colorProfile_);
964 color_profile=GetImageProfile(constImage(),
"icc");
965 if (color_profile == (StringInfo *) NULL)
968 return(
Blob(GetStringInfoDatum(color_profile),GetStringInfoLength(
975 image()->interlace=interlace_;
976 options()->interlaceType(interlace_);
981 return constImage()->interlace;
987 image()->interpolate=interpolate_;
992 return constImage()->interpolate;
998 if (iptcProfile_.
data() != 0)
1003 iptc_profile=AcquireStringInfo(iptcProfile_.
length());
1004 SetStringInfoDatum(iptc_profile,(
unsigned char *) iptcProfile_.
data());
1005 (void) SetImageProfile(image(),
"iptc",iptc_profile);
1006 iptc_profile=DestroyStringInfo(iptc_profile );
1015 iptc_profile=GetImageProfile(constImage(),
"iptc");
1016 if (iptc_profile == (StringInfo *) NULL)
1018 return(
Blob(GetStringInfoDatum(iptc_profile),GetStringInfoLength(
1028 result=IsOpaqueImage(constImage(),exceptionInfo);
1030 return(result != MagickFalse ?
true :
false);
1040 else if (!isValid())
1051 return(rows() && columns());
1057 (void) SetImageProperty(image(),
"Label",NULL);
1058 if (label_.length() > 0)
1059 (
void) SetImageProperty(image(),
"Label",label_.c_str());
1060 throwImageException();
1068 value=GetImageProperty(constImage(),
"Label");
1071 return(std::string(value));
1073 return(std::string());
1082 artifact(
"lowlight-color",value);
1092 length=
sizeof(image()->magick)-1;
1093 if (magick_.length() < length)
1094 length=magick_.length();
1096 if (!magick_.empty())
1097 magick_.copy(image()->magick,length);
1098 image()->magick[length]=0;
1100 options()->magick(magick_);
1105 if (*(constImage()->magick) !=
'\0')
1106 return(std::string(constImage()->magick));
1108 return(constOptions()->magick());
1118 SetImageMask(image(),0);
1127 image=GetImageMask(constImage(),exceptionInfo);
1144 if ((matteFlag_ && !constImage()->matte) || (constImage()->matte &&
1146 SetImageOpacity(image(),OpaqueOpacity);
1148 image()->matte=(MagickBooleanType) matteFlag_;
1153 if (constImage()->matte)
1165 image()->matte_color=matteColor_;
1166 options()->matteColor(matteColor_);
1172 tmpColor(
"#BDBDBD");
1174 image()->matte_color=tmpColor;
1175 options()->matteColor(tmpColor);
1181 return(
Color(constImage()->matte_color.red,constImage()->matte_color.green,
1182 constImage()->matte_color.blue));
1187 return(constImage()->error.mean_error_per_pixel);
1193 SetImageDepth(image(),depth_);
1194 options()->depth(depth_);
1203 depth=GetImageDepth(constImage(),exceptionInfo);
1211 options()->monochrome(monochromeFlag_);
1216 return(constOptions()->monochrome());
1221 if (constImage()->montage)
1225 "Image does not contain a montage");
1232 return(constImage()->error.normalized_maximum_error);
1237 return (constImage()->error.normalized_mean_error);
1243 image()->orientation=orientation_;
1248 return(constImage()->orientation);
1254 options()->page(pageSize_);
1255 image()->page=pageSize_;
1260 return(
Geometry(constImage()->page.width,constImage()->page.height,
1262 constImage()->page.x < 0 ?
true :
false,
1263 constImage()->page.y < 0 ?
true :
false));
1269 options()->fillColor(penColor_);
1270 options()->strokeColor(penColor_);
1275 return(constOptions()->fillColor());
1282 options()->fillPattern(penTexture_.
constImage());
1284 options()->fillPattern(static_cast<MagickCore::Image*>(NULL));
1304 image=CloneImage(tmpTexture,0,0,MagickTrue,exceptionInfo);
1314 image()->quality=quality_;
1315 options()->quality(quality_);
1320 return(constImage()->quality);
1326 options()->quantizeColors(colors_);
1331 return(constOptions()->quantizeColors());
1335 const Magick::ColorspaceType colorSpace_)
1338 options()->quantizeColorSpace(colorSpace_);
1343 return(constOptions()->quantizeColorSpace());
1349 options()->quantizeDither(ditherFlag_);
1354 return(constOptions()->quantizeDither());
1360 options()->quantizeDitherMethod(ditherMethod_);
1365 return(constOptions()->quantizeDitherMethod());
1371 options()->quantizeTreeDepth(treeDepth_);
1376 return(constOptions()->quantizeTreeDepth());
1382 options()->quiet(quiet_);
1387 return(constOptions()->quiet());
1391 const Magick::RenderingIntent renderingIntent_)
1394 image()->rendering_intent=renderingIntent_;
1399 return(static_cast<Magick::RenderingIntent>(
1400 constImage()->rendering_intent));
1404 const Magick::ResolutionType resolutionUnits_)
1407 image()->units=resolutionUnits_;
1408 options()->resolutionUnits(resolutionUnits_);
1413 return(static_cast<Magick::ResolutionType>(constImage()->units));
1419 image()->scene=scene_;
1424 return(constImage()->scene);
1430 options()->size(geometry_);
1431 image()->rows=geometry_.
height();
1432 image()->columns=geometry_.
width();
1443 options()->strokeAntiAlias(flag_);
1448 return(constOptions()->strokeAntiAlias());
1457 options()->strokeColor(strokeColor_);
1459 artifact(
"stroke",value);
1464 return(constOptions()->strokeColor());
1470 options()->strokeDashArray(strokeDashArray_);
1475 return(constOptions()->strokeDashArray());
1481 options()->strokeDashOffset(strokeDashOffset_);
1486 return(constOptions()->strokeDashOffset());
1492 options()->strokeLineCap(lineCap_);
1497 return(constOptions()->strokeLineCap());
1503 options()->strokeLineJoin(lineJoin_);
1508 return(constOptions()->strokeLineJoin());
1514 options()->strokeMiterLimit(strokeMiterLimit_);
1519 return constOptions()->strokeMiterLimit();
1526 options()->strokePattern(strokePattern_.
constImage());
1528 options()->strokePattern(static_cast<MagickCore::Image*>(NULL));
1547 image=CloneImage(tmpTexture,0,0,MagickTrue,exceptionInfo);
1557 value[MaxTextExtent];
1560 options()->strokeWidth(strokeWidth_);
1561 FormatLocaleString(value,MaxTextExtent,
"%.20g",strokeWidth_);
1562 (void) SetImageArtifact(image(),
"strokewidth",value);
1567 return(constOptions()->strokeWidth());
1573 options()->subImage(subImage_);
1578 return(constOptions()->subImage());
1584 options()->subRange(subRange_);
1589 return(constOptions()->subRange());
1595 options()->textDirection(direction_);
1600 return(constOptions()->textDirection());
1606 options()->textEncoding(encoding_);
1611 return(constOptions()->textEncoding());
1617 options()->textGravity(gravity_);
1622 return(constOptions()->textGravity());
1628 options()->textInterlineSpacing(spacing_);
1633 return(constOptions()->textInterlineSpacing());
1639 options()->textInterwordSpacing(spacing_);
1644 return(constOptions()->textInterwordSpacing());
1650 options()->textKerning(kerning_);
1655 return(constOptions()->textKerning());
1661 options()->textUnderColor(underColor_);
1666 return(constOptions()->textUnderColor());
1672 options()->tileName(tileName_);
1677 return(constOptions()->tileName());
1686 colors=GetNumberColors(constImage(),0,exceptionInfo);
1694 options()->transformRotation(angle_);
1700 options()->transformSkewX(skewx_);
1706 options()->transformSkewY(skewy_);
1712 options()->type(type_);
1713 SetImageType(image(),type_);
1718 if (constOptions()->type() != UndefinedType)
1719 return(constOptions()->type());
1720 else if (constImage()->type != UndefinedType)
1721 return(constImage()->type);
1723 return(determineType());
1729 options()->verbose(verboseFlag_);
1734 return(constOptions()->verbose());
1740 options()->view(view_);
1745 return(constOptions()->view());
1749 const VirtualPixelMethod virtual_pixel_method_)
1752 SetImageVirtualPixelMethod(image(),virtual_pixel_method_);
1753 options()->virtualPixelMethod(virtual_pixel_method_);
1758 return(GetImageVirtualPixelMethod(constImage()));
1764 options()->x11Display(display_);
1769 return(constOptions()->x11Display());
1774 return(constImage()->x_resolution);
1779 return(constImage()->y_resolution);
1788 newImage=AdaptiveBlurImage(constImage(),radius_,sigma_,exceptionInfo);
1789 replaceImage(newImage);
1806 ParseMetaGeometry(static_cast<std::string>(geometry_).c_str(),&x,&y,&width,
1810 newImage=AdaptiveResizeImage(constImage(),width,height,exceptionInfo);
1811 replaceImage(newImage);
1821 newImage=AdaptiveSharpenImage(constImage(),radius_,sigma_,exceptionInfo);
1822 replaceImage(newImage);
1827 const double radius_,
const double sigma_)
1833 newImage=AdaptiveSharpenImageChannel(constImage(),channel_,radius_,sigma_,
1835 replaceImage(newImage);
1840 const ssize_t offset_)
1846 newImage=AdaptiveThresholdImage(constImage(),width_,height_,offset_,
1848 replaceImage(newImage);
1858 newImage=AddNoiseImage(constImage(),noiseType_,exceptionInfo);
1859 replaceImage(newImage);
1864 const NoiseType noiseType_)
1870 newImage=AddNoiseImageChannel(constImage(),channel_,noiseType_,
1872 replaceImage(newImage);
1884 _affine.sx = affine_.
sx();
1885 _affine.sy = affine_.
sy();
1886 _affine.rx = affine_.
rx();
1887 _affine.ry = affine_.
ry();
1888 _affine.tx = affine_.
tx();
1889 _affine.ty = affine_.
ty();
1892 newImage=AffineTransformImage(constImage(),&_affine,exceptionInfo);
1893 replaceImage(newImage);
1900 SetImageAlphaChannel(image(), alphaType_);
1901 throwImageException();
1907 annotate(text_,location_,NorthWestGravity,0.0);
1911 const Geometry &boundingArea_,
const GravityType gravity_)
1913 annotate(text_,boundingArea_,gravity_,0.0);
1917 const Geometry &boundingArea_,
const GravityType gravity_,
1918 const double degrees_)
1924 boundingArea[MaxTextExtent];
1931 drawInfo=options()->drawInfo();
1932 drawInfo->text=DestroyString(drawInfo->text);
1933 drawInfo->text=
const_cast<char *
>(text_.c_str());
1934 drawInfo->geometry=DestroyString(drawInfo->geometry);
1938 if (boundingArea_.
width() == 0 || boundingArea_.
height() == 0)
1940 FormatLocaleString(boundingArea,MaxTextExtent,
"%+.20g%+.20g",
1941 (
double) boundingArea_.
xOff(),(double) boundingArea_.
yOff());
1945 (void) CopyMagickString(boundingArea,
1946 std::string(boundingArea_).c_str(), MaxTextExtent);
1948 drawInfo->geometry=boundingArea;
1951 drawInfo->gravity=gravity_;
1953 oaffine=drawInfo->affine;
1954 if (degrees_ != 0.0)
1967 current=drawInfo->affine;
1973 drawInfo->affine.sx=current.sx*affine.sx+current.ry*affine.rx;
1974 drawInfo->affine.rx=current.rx*affine.sx+current.sy*affine.rx;
1975 drawInfo->affine.ry=current.sx*affine.ry+current.ry*affine.sy;
1976 drawInfo->affine.sy=current.rx*affine.ry+current.sy*affine.sy;
1977 drawInfo->affine.tx=current.sx*affine.tx+current.ry*affine.ty
1981 AnnotateImage(image(),drawInfo);
1984 drawInfo->affine=oaffine;
1985 drawInfo->text=(
char *) NULL;
1986 drawInfo->geometry=(
char *) NULL;
1988 throwImageException();
1992 const GravityType gravity_)
1999 drawInfo=options()->drawInfo();
2000 drawInfo->text=DestroyString(drawInfo->text);
2001 drawInfo->text=
const_cast<char *
>(text_.c_str());
2002 drawInfo->gravity=gravity_;
2004 AnnotateImage(image(),drawInfo);
2006 drawInfo->gravity=NorthWestGravity;
2007 drawInfo->text=(
char *) NULL;
2009 throwImageException();
2013 const std::string &value_)
2016 (void) SetImageArtifact(image(),name_.c_str(),value_.c_str());
2024 value=GetImageArtifact(constImage(),name_.c_str());
2026 return(std::string(value));
2027 return(std::string());
2033 SetImageProperty(image(),name_.c_str(),value_.c_str());
2041 value=GetImageProperty(constImage(),name_.c_str());
2044 return(std::string(value));
2046 return(std::string());
2052 (void) AutoGammaImage(image());
2053 throwImageException();
2059 (void) AutoGammaImageChannel(image(),channel_);
2060 throwImageException();
2066 (void) AutoLevelImage(image());
2067 throwImageException();
2073 (void) AutoLevelImageChannel(image(),channel_);
2074 throwImageException();
2082 if (image()->orientation == UndefinedOrientation ||
2083 image()->orientation == TopLeftOrientation)
2087 newImage=AutoOrientImage(constImage(),image()->orientation,exceptionInfo);
2088 replaceImage(newImage);
2095 BlackThresholdImage(image(),threshold_.c_str());
2096 throwImageException();
2100 const std::string &threshold_)
2104 BlackThresholdImageChannel(image(),channel_,threshold_.c_str(),
2115 newImage=BlueShiftImage(constImage(),factor_,exceptionInfo);
2116 replaceImage(newImage);
2127 newImage=BlurImage(constImage(),radius_,sigma_,exceptionInfo);
2128 replaceImage(newImage);
2133 const double radius_,
const double sigma_)
2139 newImage=BlurImageChannel(constImage(),channel_,radius_,sigma_,
2141 replaceImage(newImage);
2151 borderInfo=geometry_;
2154 newImage=BorderImage(constImage(),&borderInfo,exceptionInfo);
2155 replaceImage(newImage);
2160 const double contrast_)
2163 BrightnessContrastImage(image(),brightness_,contrast_);
2164 throwImageException();
2168 const double brightness_,
const double contrast_)
2171 BrightnessContrastImageChannel(image(),channel_,brightness_,contrast_);
2172 throwImageException();
2176 const double lowerPercent_,
const double upperPercent_)
2183 newImage=CannyEdgeImage(constImage(),radius_,sigma_,lowerPercent_,
2184 upperPercent_,exceptionInfo);
2185 replaceImage(newImage);
2192 (void) ColorDecisionListImage(image(),cdl_.c_str());
2193 throwImageException();
2199 SeparateImageChannel(image(),channel_);
2200 throwImageException();
2204 const size_t depth_)
2207 SetImageChannelDepth(image(),channel_,depth_);
2208 throwImageException();
2217 channel_depth=GetImageChannelDepth(constImage(), channel_,exceptionInfo);
2219 return channel_depth;
2228 newImage=CharcoalImage(constImage(),radius_,sigma_,exceptionInfo);
2229 replaceImage(newImage);
2242 newImage=ChopImage(constImage(),&chopInfo,exceptionInfo);
2243 replaceImage(newImage);
2250 image()->chromaticity.blue_primary.x=x_;
2251 image()->chromaticity.blue_primary.y=y_;
2256 *x_=constImage()->chromaticity.blue_primary.x;
2257 *y_=constImage()->chromaticity.blue_primary.y;
2263 image()->chromaticity.green_primary.x=x_;
2264 image()->chromaticity.green_primary.y=y_;
2269 *x_=constImage()->chromaticity.green_primary.x;
2270 *y_=constImage()->chromaticity.green_primary.y;
2276 image()->chromaticity.red_primary.x=x_;
2277 image()->chromaticity.red_primary.y=y_;
2282 *x_=constImage()->chromaticity.red_primary.x;
2283 *y_=constImage()->chromaticity.red_primary.y;
2289 image()->chromaticity.white_point.x=x_;
2290 image()->chromaticity.white_point.y=y_;
2295 *x_=constImage()->chromaticity.white_point.x;
2296 *y_=constImage()->chromaticity.white_point.y;
2302 ClampImage(image());
2303 throwImageException();
2309 ClampImageChannel(image(),channel_);
2310 throwImageException();
2317 throwImageException();
2323 ClipImagePath(image(),pathname_.c_str(),(MagickBooleanType) inside_);
2324 throwImageException();
2331 throwImageException();
2335 const Image &clutImage_)
2338 ClutImageChannel(image(),channel_,clutImage_.
constImage());
2339 throwImageException();
2343 const unsigned int opacityGreen_,
const unsigned int opacityBlue_,
2344 const Color &penColor_)
2347 opacity[MaxTextExtent];
2355 FormatLocaleString(opacity,MaxTextExtent,
"%u/%u/%u",opacityRed_,
2356 opacityGreen_,opacityBlue_);
2359 newImage=ColorizeImage(image(),opacity,penColor_,exceptionInfo);
2360 replaceImage(newImage);
2365 const Color &penColor_)
2367 colorize(opacity_,opacity_,opacity_,penColor_);
2372 if (index_ > (MaxColormapSize-1) )
2374 "Colormap index must be less than MaxColormapSize");
2382 if (colorMapSize() < (index_+1))
2383 colorMapSize(index_+1);
2386 (image()->colormap)[index_]=color_;
2391 if (!constImage()->colormap)
2397 if (index_ > constImage()->colors-1)
2400 return(
Color((constImage()->colormap)[index_]));
2404 const double *color_matrix_)
2414 kernel_info=AcquireKernelInfo(
"1");
2415 if (kernel_info != (KernelInfo *) NULL)
2417 kernel_info->width=order_;
2418 kernel_info->height=order_;
2419 kernel_info->values=(
double *) color_matrix_;
2420 newImage=ColorMatrixImage(constImage(),kernel_info,exceptionInfo);
2421 kernel_info->values=(
double *) NULL;
2422 kernel_info=DestroyKernelInfo(kernel_info);
2423 replaceImage(newImage);
2438 status=
static_cast<bool>(IsImagesEqual(image(),ref.
constImage()));
2439 throwImageException();
2449 GetImageDistortion(image(),reference_.
constImage(),metric_,&distortion,
2456 const Image &reference_,
const MetricType metric_)
2462 GetImageChannelDistortion(image(),reference_.
constImage(),channel_,metric_,
2463 &distortion,exceptionInfo);
2469 const MetricType metric_,
double *distortion)
2475 newImage=CompareImages(image(),reference_.
constImage(),metric_,distortion,
2485 const Image &reference_,
const MetricType metric_,
double *distortion)
2491 newImage=CompareImageChannels(image(),reference_.
constImage(),channel_,
2492 metric_,distortion,exceptionInfo);
2501 const Geometry &offset_,
const CompositeOperator compose_)
2512 ParseMetaGeometry(static_cast<std::string>(offset_).c_str(),&x,&y,&width,
2515 CompositeImage(image(),compose_,compositeImage_.
constImage(),x,y);
2516 throwImageException();
2520 const GravityType gravity_,
const CompositeOperator compose_)
2527 SetGeometry(compositeImage_.
constImage(),&geometry);
2528 GravityAdjustGeometry(columns(),rows(),gravity_,&geometry);
2530 CompositeImage(image(),compose_,compositeImage_.
constImage(),geometry.x,
2532 throwImageException();
2536 const ssize_t xOffset_,
const ssize_t yOffset_,
2537 const CompositeOperator compose_)
2543 CompositeImage(image(),compose_,compositeImage_.
constImage(),xOffset_,
2545 throwImageException();
2554 newImage=ConnectedComponentsImage(constImage(),connectivity_,exceptionInfo);
2555 replaceImage(newImage);
2562 ContrastImage(image(),(MagickBooleanType) sharpen_);
2563 throwImageException();
2567 const double white_point_)
2570 ContrastStretchImageChannel(image(),DefaultChannels,black_point_,
2572 throwImageException();
2576 const double black_point_,
const double white_point_)
2579 ContrastStretchImageChannel(image(),channel_,black_point_,white_point_);
2580 throwImageException();
2589 newImage=ConvolveImage(constImage(),order_,kernel_,exceptionInfo);
2590 replaceImage(newImage);
2604 (void) CopyImagePixels(image(),source_.
constImage(),&geometry,&offset,
2619 newImage=CropImage(constImage(),&cropInfo,exceptionInfo);
2620 replaceImage(newImage);
2627 CycleColormapImage(image(),amount_);
2628 throwImageException();
2635 DecipherImage(image(),passphrase_.c_str(),exceptionInfo);
2640 const std::string &key_,
bool flag_)
2646 definition=magick_ +
":" + key_;
2648 (void) SetImageOption(imageInfo(),definition.c_str(),
"");
2650 DeleteImageOption(imageInfo(),definition.c_str());
2654 const std::string &key_)
const
2662 key=magick_ +
":" + key_;
2663 option=GetImageOption(constImageInfo(),key.c_str());
2670 const std::string &key_,
const std::string &value_)
2676 format=magick_ +
":" + key_;
2677 (void) SetImageOption(imageInfo(),format.c_str(),value_.c_str());
2681 const std::string &key_)
const
2689 definition=magick_ +
":" + key_;
2690 option=GetImageOption(constImageInfo(),definition.c_str());
2692 return(std::string(option));
2693 return(std::string());
2702 newImage=DeskewImage(constImage(),threshold_,exceptionInfo);
2703 replaceImage(newImage);
2713 newImage=DespeckleImage(constImage(),exceptionInfo);
2714 replaceImage(newImage);
2724 image_type=GetImageType(constImage(),exceptionInfo);
2731 DisplayImages(imageInfo(),image());
2735 const size_t number_arguments_,
const double *arguments_,
const bool bestfit_)
2741 newImage=DistortImage(constImage(),method_,number_arguments_,arguments_,
2742 bestfit_ ==
true ? MagickTrue : MagickFalse,exceptionInfo);
2743 replaceImage(newImage);
2754 wand=AcquireDrawingWand(options()->drawInfo(),image());
2758 drawable_.operator()(wand);
2760 if (constImage()->exception.severity == UndefinedException)
2763 wand=DestroyDrawingWand(wand);
2766 throwImageException();
2776 wand=AcquireDrawingWand(options()->drawInfo(),image());
2780 for (std::list<Magick::Drawable>::const_iterator p = drawable_.begin();
2781 p != drawable_.end(); p++)
2783 p->operator()(wand);
2784 if (constImage()->exception.severity != UndefinedException)
2788 if (constImage()->exception.severity == UndefinedException)
2791 wand=DestroyDrawingWand(wand);
2794 throwImageException();
2803 newImage=EdgeImage(constImage(),radius_,exceptionInfo);
2804 replaceImage(newImage);
2814 newImage=EmbossImage(constImage(),radius_,sigma_,exceptionInfo);
2815 replaceImage(newImage);
2823 EncipherImage(image(),passphrase_.c_str(),exceptionInfo);
2833 newImage=EnhanceImage(constImage(),exceptionInfo);
2834 replaceImage(newImage);
2841 EqualizeImage(image());
2842 throwImageException();
2848 (void) SetImageBackgroundColor(image());
2849 throwImageException();
2863 extentInfo=geometry_;
2864 extentInfo.x=geometry_.
xOff();
2865 extentInfo.y=geometry_.
yOff();
2866 newImage=ExtentImage(constImage(),&extentInfo,exceptionInfo);
2867 replaceImage(newImage);
2872 const Color &backgroundColor_)
2874 backgroundColor(backgroundColor_);
2879 const Color &backgroundColor_,
const GravityType gravity_)
2881 image()->gravity=gravity_;
2882 backgroundColor(backgroundColor_);
2883 extent(geometry_,gravity_);
2887 const GravityType gravity_)
2892 SetGeometry(image(),&geometry);
2893 geometry.width=geometry_.
width();
2894 geometry.height=geometry_.
height();
2895 GravityAdjustGeometry(image()->columns,image()->rows,gravity_,&geometry);
2905 newImage=FlipImage(constImage(),exceptionInfo);
2906 replaceImage(newImage);
2913 floodFillColor(point_.
xOff(),point_.
yOff(),fillColor_,
false);
2919 floodFillColor(point_.
xOff(),point_.
yOff(),fillColor_,invert_);
2925 floodFillColor(x_,y_,fillColor_,
false);
2936 pixel=pixelColor(x_,y_);
2937 floodFill(x_,y_,(
Magick::Image *)NULL,fillColor_,&pixel,invert_);
2943 floodFillColor(point_.
xOff(),point_.
yOff(),fillColor_,borderColor_,
false);
2950 floodFillColor(point_.
xOff(),point_.
yOff(),fillColor_,borderColor_,invert_);
2956 floodFillColor(x_,y_,fillColor_,borderColor_,
false);
2968 pixel=
static_cast<PixelPacket
>(borderColor_);
2969 floodFill(x_,y_,(
Magick::Image *)NULL,fillColor_,&pixel,invert_);
2973 const unsigned int opacity_,
const bool invert_)
2983 GetMagickPixelPacket(constImage(),&target);
2984 pixel=
static_cast<PixelPacket
>(pixelColor(x_,y_));
2985 target.red=pixel.red;
2986 target.green=pixel.green;
2987 target.blue=pixel.blue;
2988 target.opacity=opacity_;
2989 (void) FloodfillPaintImage(image(),OpacityChannel,options()->drawInfo(),
2990 &target,x_,y_,(MagickBooleanType)invert_);
2991 throwImageException();
2995 const unsigned int opacity_,
const PaintMethod method_)
2997 floodFillOpacity(x_,y_,opacity_,method_ == FloodfillMethod ?
false :
true);
3001 const unsigned int opacity_,
const Color &target_,
const bool invert_)
3011 GetMagickPixelPacket(constImage(),&target);
3012 pixel=
static_cast<PixelPacket
>(target_);
3013 target.red=pixel.red;
3014 target.green=pixel.green;
3015 target.blue=pixel.blue;
3016 target.opacity=opacity_;
3017 (void) FloodfillPaintImage(image(),OpacityChannel,options()->drawInfo(),
3018 &target,x_,y_,(MagickBooleanType)invert_);
3019 throwImageException();
3025 floodFillTexture(point_.
xOff(),point_.
yOff(),texture_,
false);
3031 floodFillTexture(point_.
xOff(),point_.
yOff(),texture_,invert_);
3037 floodFillTexture(x_,y_,texture_,
false);
3048 pixel=
static_cast<PixelPacket
>(pixelColor(x_,y_));
3055 floodFillTexture(point_.
xOff(),point_.
yOff(),texture_,borderColor_,
false);
3062 floodFillTexture(point_.
xOff(),point_.
yOff(),texture_,borderColor_,invert_);
3068 floodFillTexture(x_,y_,texture_,borderColor_,
false);
3080 pixel=
static_cast<PixelPacket
>(borderColor_);
3090 newImage=FlopImage(constImage(),exceptionInfo);
3091 replaceImage(newImage);
3101 drawInfo=options()->drawInfo();
3102 drawInfo->text=
const_cast<char *
>(text_.c_str());
3103 if (GetTypeMetrics(image(),drawInfo,&(metrics->_typeMetric)) == MagickFalse)
3104 throwImageException();
3114 drawInfo=options()->drawInfo();
3115 drawInfo->text=
const_cast<char *
>(text_.c_str());
3116 GetMultilineTypeMetrics(image(),drawInfo,&(metrics->_typeMetric));
3128 info.x=
static_cast<ssize_t
>(geometry_.
width());
3129 info.y=
static_cast<ssize_t
>(geometry_.
height());
3130 info.width=columns() + (
static_cast<size_t>(info.x) << 1 );
3131 info.height=rows() + (
static_cast<size_t>(info.y) << 1 );
3132 info.outer_bevel=geometry_.
xOff();
3133 info.inner_bevel=geometry_.
yOff();
3136 newImage=FrameImage(constImage(),&info,exceptionInfo);
3137 replaceImage(newImage);
3142 const ssize_t innerBevel_,
const ssize_t outerBevel_)
3150 info.x=
static_cast<ssize_t
>(width_);
3151 info.y=
static_cast<ssize_t
>(height_);
3152 info.width=columns() + (
static_cast<size_t>(info.x) << 1 );
3153 info.height=rows() + (
static_cast<size_t>(info.y) << 1 );
3154 info.outer_bevel=
static_cast<ssize_t
>(outerBevel_);
3155 info.inner_bevel=
static_cast<ssize_t
>(innerBevel_);
3158 newImage=FrameImage(constImage(),&info,exceptionInfo);
3159 replaceImage(newImage);
3169 newImage=FxImageChannel(constImage(),DefaultChannels,expression.c_str(),
3171 replaceImage(newImage);
3176 const Magick::ChannelType channel)
3182 newImage=FxImageChannel(constImage(),channel,expression.c_str(),
3184 replaceImage(newImage);
3191 gamma[MaxTextExtent + 1];
3193 FormatLocaleString(gamma,MaxTextExtent,
"%3.6f",gamma_);
3196 GammaImage(image(),gamma);
3200 const double gammaBlue_)
3203 gamma[MaxTextExtent + 1];
3205 FormatLocaleString(gamma,MaxTextExtent,
"%3.6f/%3.6f/%3.6f/",gammaRed_,
3206 gammaGreen_,gammaBlue_);
3209 GammaImage(image(),gamma);
3210 throwImageException();
3219 newImage=GaussianBlurImage(constImage(),width_,sigma_,exceptionInfo);
3220 replaceImage(newImage);
3225 const double width_,
const double sigma_)
3231 newImage=GaussianBlurImageChannel(constImage(),channel_,width_,sigma_,
3233 replaceImage(newImage);
3239 const Magick::IndexPacket
3242 result=GetVirtualIndexQueue(constImage());
3244 throwImageException();
3250 const ssize_t y_,
const size_t columns_,
const size_t rows_)
const
3256 result=GetVirtualPixels(constImage(),x_,y_,columns_,rows_,exceptionInfo);
3266 result=GetAuthenticIndexQueue(image());
3269 throwImageException();
3275 const ssize_t y_,
const size_t columns_,
const size_t rows_)
3282 result=GetAuthenticPixels(image(),x_,y_,columns_,rows_,exceptionInfo);
3290 (void) GrayscaleImage(image(),method_);
3291 throwImageException();
3297 (void) HaldClutImage(image(),clutImage_.
constImage());
3298 throwImageException();
3302 const size_t threshold_)
3308 newImage=HoughLineImage(constImage(),width_,height_,threshold_,
3310 replaceImage(newImage);
3320 newImage=ImplodeImage(constImage(),factor_,exceptionInfo);
3321 replaceImage(newImage);
3327 inverseFourierTransform(phase_,
true);
3331 const bool magnitude_)
3337 newImage=InverseFourierTransformImage(constImage(),phase_.
constImage(),
3338 magnitude_ ==
true ? MagickTrue : MagickFalse,exceptionInfo);
3339 replaceImage(newImage);
3349 newImage=KuwaharaImage(constImage(),radius_,sigma_,exceptionInfo);
3350 replaceImage(newImage);
3355 const double radius_,
const double sigma_)
3361 newImage=KuwaharaImageChannel(constImage(),channel_,radius_,sigma_,
3363 replaceImage(newImage);
3371 levels[MaxTextExtent];
3374 FormatLocaleString(levels,MaxTextExtent,
"%g,%g,%g",black_point,white_point,
3376 (void) LevelImage(image(),levels);
3377 throwImageException();
3381 const double black_point,
const double white_point,
const double gamma)
3384 (void) LevelImageChannel(image(),channel,black_point,white_point,gamma);
3385 throwImageException();
3389 const Color &whiteColor_,
const bool invert_)
3400 GetMagickPixelPacket(image(),&black);
3401 pixel=
static_cast<PixelPacket
>(blackColor_);
3402 black.red=pixel.red;
3403 black.green=pixel.green;
3404 black.blue=pixel.blue;
3405 black.opacity=pixel.opacity;
3407 GetMagickPixelPacket(image(),&white);
3408 pixel=
static_cast<PixelPacket
>(whiteColor_);
3409 white.red=pixel.red;
3410 white.green=pixel.green;
3411 white.blue=pixel.blue;
3412 white.opacity=pixel.opacity;
3414 (void) LevelColorsImage(image(),&black,&white,
3415 invert_ ==
true ? MagickTrue : MagickFalse);
3416 throwImageException();
3420 const Color &blackColor_,
const Color &whiteColor_,
const bool invert_)
3431 GetMagickPixelPacket(image(),&black);
3432 pixel=
static_cast<PixelPacket
>(blackColor_);
3433 black.red=pixel.red;
3434 black.green=pixel.green;
3435 black.blue=pixel.blue;
3436 black.opacity=pixel.opacity;
3438 GetMagickPixelPacket(image(),&white);
3439 pixel=
static_cast<PixelPacket
>(whiteColor_);
3440 white.red=pixel.red;
3441 white.green=pixel.green;
3442 white.blue=pixel.blue;
3443 white.opacity=pixel.opacity;
3445 (void) LevelColorsImageChannel(image(),channel_,&black,&white,
3446 invert_ ==
true ? MagickTrue : MagickFalse);
3447 throwImageException();
3451 const double gamma_)
3454 (void) LevelizeImage(image(),blackPoint_,whitePoint_,gamma_);
3455 throwImageException();
3459 const double blackPoint_,
const double whitePoint_,
const double gamma_)
3462 (void) LevelizeImageChannel(image(),channel_,blackPoint_,whitePoint_,gamma_);
3463 throwImageException();
3467 const double whitePoint_)
3470 LinearStretchImage(image(),blackPoint_,whitePoint_);
3471 throwImageException();
3487 ParseMetaGeometry(static_cast<std::string>(geometry_).c_str(),&x,&y,&width,
3491 newImage=LiquidRescaleImage(constImage(),width,height,x,y,exceptionInfo);
3492 replaceImage(newImage);
3502 newImage=LocalContrastImage(constImage(),radius_,strength_,exceptionInfo);
3503 replaceImage(newImage);
3513 newImage=MagnifyImage(constImage(),exceptionInfo);
3514 replaceImage(newImage);
3521 options()->quantizeDither(dither_);
3522 RemapImage(options()->quantizeInfo(),image(),mapImage_.
constImage());
3523 throwImageException();
3527 const unsigned int opacity_,
const ssize_t x_,
const ssize_t y_,
3528 const Magick::PaintMethod method_)
3530 floodFillOpacity(x_,y_,opacity_,target_,
3531 method_ == FloodfillMethod ?
false :
true);
3540 newImage=StatisticImage(constImage(),MedianStatistic,(
size_t) radius_,
3541 (
size_t) radius_,exceptionInfo);
3542 replaceImage(newImage);
3552 newImage=MergeImageLayers(image(),layerMethod_,exceptionInfo);
3553 replaceImage(newImage);
3563 newImage=MinifyImage(constImage(),exceptionInfo);
3564 replaceImage(newImage);
3572 modulate[MaxTextExtent + 1];
3574 FormatLocaleString(modulate,MaxTextExtent,
"%3.6f,%3.6f,%3.6f",brightness_,
3578 ModulateImage(image(),modulate);
3579 throwImageException();
3588 const std::string kernel_,
const ssize_t iterations_)
3596 kernel=AcquireKernelInfo(kernel_.c_str());
3597 if (kernel == (KernelInfo *)NULL)
3601 newImage=MorphologyImage(constImage(),method_,iterations_,kernel,
3603 replaceImage(newImage);
3604 kernel=DestroyKernelInfo(kernel);
3609 const KernelInfoType kernel_,
const std::string arguments_,
3610 const ssize_t iterations_)
3618 option=CommandOptionToMnemonic(MagickKernelOptions,kernel_);
3619 if (option == (
const char *)NULL)
3625 kernel=std::string(option);
3626 if (!arguments_.empty())
3627 kernel+=
":"+arguments_;
3629 morphology(method_,kernel,iterations_);
3633 const MorphologyMethod method_,
const std::string kernel_,
3634 const ssize_t iterations_)
3642 kernel=AcquireKernelInfo(kernel_.c_str());
3643 if (kernel == (KernelInfo *)NULL)
3650 newImage=MorphologyImageChannel(constImage(),channel_,method_,iterations_,
3651 kernel,exceptionInfo);
3652 replaceImage(newImage);
3653 kernel=DestroyKernelInfo(kernel);
3658 const MorphologyMethod method_,
const KernelInfoType kernel_,
3659 const std::string arguments_,
const ssize_t iterations_)
3667 option=CommandOptionToMnemonic(MagickKernelOptions,kernel_);
3668 if (option == (
const char *)NULL)
3671 kernel=std::string(option);
3672 if (!arguments_.empty())
3673 kernel+=
":"+arguments_;
3675 morphologyChannel(channel_,method_,kernel,iterations_);
3679 const double angle_)
3685 newImage=MotionBlurImage(constImage(),radius_,sigma_,angle_,exceptionInfo);
3686 replaceImage(newImage);
3693 NegateImage(image(),(MagickBooleanType) grayscale_);
3694 throwImageException();
3698 const bool grayscale_)
3701 NegateImageChannel(image(),channel_,(MagickBooleanType) grayscale_);
3702 throwImageException();
3708 NormalizeImage(image());
3709 throwImageException();
3718 newImage=OilPaintImage(constImage(),radius_,exceptionInfo);
3719 replaceImage(newImage);
3726 SetImageOpacity(image(),opacity_);
3745 opaqueColor=opaqueColor_;
3748 (void) QueryMagickColor(opaqueColor.c_str(),&opaque,&image()->exception);
3749 (void) QueryMagickColor(penColor.c_str(),&pen,&image()->exception);
3751 OpaquePaintImage(image(),&opaque,&pen,invert_ ? MagickTrue : MagickFalse);
3752 throwImageException();
3759 (void) OrderedPosterizeImage(image(),thresholdMap_.c_str(),exceptionInfo);
3764 std::string thresholdMap_)
3768 (void) OrderedPosterizeImageChannel(image(),channel_,thresholdMap_.c_str(),
3776 PerceptibleImage(image(),epsilon_);
3777 throwImageException();
3781 const double epsilon_)
3784 PerceptibleImageChannel(image(),channel_,epsilon_);
3785 throwImageException();
3794 newImage=PingBlob(imageInfo(),blob_.
data(),blob_.
length(),exceptionInfo);
3795 read(newImage,exceptionInfo);
3804 options()->fileName(imageSpec_);
3805 newImage=PingImage(imageInfo(),exceptionInfo);
3806 read(newImage,exceptionInfo);
3810 const Color &color_)
3813 if (y_ > (ssize_t) rows() || x_ > (ssize_t) columns())
3819 classType(DirectClass);
3824 *(pixels.get(x_,y_,1,1))=color_;
3830 const ssize_t y_)
const
3835 storage_class=classType();
3836 if (storage_class == DirectClass)
3841 pixel=getConstPixels(x_,y_,1,1);
3843 return(
Color(*pixel));
3845 else if (storage_class == PseudoClass)
3850 indexes=getConstIndexes();
3852 return(colorMap((
size_t) *indexes));
3864 (void) SetImageProperty(image(),
"Caption",caption_.c_str());
3865 newImage=PolaroidImage(constImage(),options()->drawInfo(),angle_,
3867 replaceImage(newImage);
3874 PosterizeImage(image(),levels_,(MagickBooleanType) dither_);
3875 throwImageException();
3879 const size_t levels_,
const bool dither_)
3882 PosterizeImageChannel(image(),channel_,levels_,
3883 (MagickBooleanType) dither_);
3884 throwImageException();
3895 status=InvokeDynamicImageFilter(name_.c_str(),&image(),argc, argv,
3896 &image()->exception);
3898 if (status ==
false)
3899 throwImageException();
3909 result=ProfileImage(image(),name_.c_str(),(
unsigned char *)profile_.
data(),
3910 profile_.
length(),MagickTrue);
3913 throwImageException();
3921 profile=GetImageProfile(constImage(),name_.c_str());
3923 if (profile == (StringInfo *) NULL)
3925 return(
Blob((
void*) GetStringInfoDatum(profile),GetStringInfoLength(
3934 options()->quantizeInfo()->measure_error=MagickTrue;
3936 options()->quantizeInfo()->measure_error=MagickFalse;
3938 QuantizeImage(options()->quantizeInfo(),image());
3940 throwImageException();
3944 const MagickEvaluateOperator operator_,
double rvalue_)
3947 EvaluateImageChannel(image(),channel_,operator_,rvalue_,exceptionInfo);
3952 const MagickFunction function_,
const size_t number_parameters_,
3953 const double *parameters_)
3956 FunctionImageChannel(image(),channel_,function_,number_parameters_,
3957 parameters_,exceptionInfo);
3962 const size_t columns_,
const size_t rows_,
const ChannelType channel_,
3963 const MagickEvaluateOperator operator_,
const double rvalue_)
3972 geometry.width=columns_;
3973 geometry.height=rows_;
3976 cropImage=CropImage(image(),&geometry,exceptionInfo);
3977 EvaluateImageChannel(cropImage,channel_,operator_,rvalue_,exceptionInfo);
3978 (void) CompositeImage(image(),image()->matte != MagickFalse ?
3979 OverCompositeOp : CopyCompositeOp,cropImage,geometry.x, geometry.y);
3980 cropImage=DestroyImageList(cropImage);
3989 raiseInfo=geometry_;
3991 RaiseImage(image(),&raiseInfo,raisedFlag_ ==
true ?
3992 MagickTrue : MagickFalse);
3993 throwImageException();
4000 (void) RandomThresholdImage(image(),
static_cast<std::string
>(
4001 thresholds_).c_str(),exceptionInfo);
4006 const ChannelType channel_)
4010 (void) RandomThresholdImageChannel(image(),channel_,
static_cast<std::string
>(
4011 thresholds_).c_str(),exceptionInfo);
4021 newImage=BlobToImage(imageInfo(),static_cast<const void *>(blob_.
data()),
4022 blob_.
length(),exceptionInfo);
4023 read(newImage,exceptionInfo);
4033 const size_t depth_)
4041 const size_t depth_,
const std::string &magick_)
4046 fileName(magick_ +
':');
4051 const std::string &magick_)
4055 fileName(magick_ +
':');
4066 const std::string &map_,
const StorageType type_,
const void *pixels_)
4072 newImage=ConstituteImage(width_,height_,map_.c_str(),type_,pixels_,
4074 replaceImage(newImage);
4085 options()->fileName(imageSpec_);
4088 newImage=ReadImage(imageInfo(),exceptionInfo);
4089 read(newImage,exceptionInfo);
4093 const unsigned char *source_)
4099 quantum_info=AcquireQuantumInfo(imageInfo(),image());
4100 ImportQuantumPixels(image(),(MagickCore::CacheView *) NULL,quantum_info,
4101 quantum_,source_,exceptionInfo);
4102 quantum_info=DestroyQuantumInfo(quantum_info);
4112 newImage=StatisticImage(constImage(),NonpeakStatistic,(
size_t) order_,
4113 (
size_t) order_,exceptionInfo);
4114 replaceImage(newImage);
4122 image()->page.width = 0;
4123 image()->page.height = 0;
4124 image()->page.x = 0;
4125 image()->page.y = 0;
4141 ParseMetaGeometry(static_cast<std::string>(geometry_).c_str(),&x, &y,&width,
4145 newImage=ResampleImage(constImage(),width,height,image()->filter,1.0,
4147 replaceImage(newImage);
4164 ParseMetaGeometry(static_cast<std::string>(geometry_).c_str(),&x, &y,&width,
4168 newImage=ResizeImage(constImage(),width,height,image()->filter,1.0,
4170 replaceImage(newImage);
4189 newImage=RollImage(constImage(),xOff,yOff,exceptionInfo);
4190 replaceImage(newImage);
4200 newImage=RollImage(constImage(),static_cast<ssize_t>(columns_),
4201 static_cast<ssize_t>(rows_),exceptionInfo);
4202 replaceImage(newImage);
4212 newImage=RotateImage(constImage(),degrees_,exceptionInfo);
4213 replaceImage(newImage);
4223 newImage=RotationalBlurImage(constImage(),angle_,exceptionInfo);
4224 replaceImage(newImage);
4229 const double angle_)
4235 newImage=RotationalBlurImageChannel(constImage(),channel_,angle_,
4237 replaceImage(newImage);
4254 ParseMetaGeometry(static_cast<std::string>(geometry_).c_str(),&x,&y,&width,
4258 newImage=SampleImage(constImage(),width,height,exceptionInfo);
4259 replaceImage(newImage);
4276 ParseMetaGeometry(static_cast<std::string>(geometry_).c_str(),&x,&y,&width,
4280 newImage=ScaleImage(constImage(),width,height,exceptionInfo);
4281 replaceImage(newImage);
4286 const double smoothingThreshold_)
4289 SegmentImage(image(),options()->quantizeColorSpace(),
4290 (MagickBooleanType) options()->verbose(),clusterThreshold_,
4291 smoothingThreshold_);
4292 throwImageException();
4294 throwImageException();
4298 const double threshold_)
4304 newImage=SelectiveBlurImage(constImage(),radius_,sigma_,threshold_,
4306 replaceImage(newImage);
4311 const double radius_,
const double sigma_,
const double threshold_)
4317 newImage=SelectiveBlurImageChannel(constImage(),channel_,radius_,sigma_,
4318 threshold_,exceptionInfo);
4319 replaceImage(newImage);
4329 image=SeparateImage(constImage(),channel_,exceptionInfo);
4343 newImage=SepiaToneImage(constImage(),threshold_,exceptionInfo);
4344 replaceImage(newImage);
4349 const ssize_t y_,
const size_t columns_,
const size_t rows_)
4356 result=QueueAuthenticPixels(image(),x_, y_,columns_,rows_,exceptionInfo);
4362 const bool colorShading_)
4368 newImage=ShadeImage(constImage(),colorShading_ ==
true ?
4369 MagickTrue : MagickFalse,azimuth_,elevation_,exceptionInfo);
4370 replaceImage(newImage);
4375 const ssize_t x_,
const ssize_t y_)
4381 newImage=ShadowImage(constImage(),percent_opacity_,sigma_,x_,y_,exceptionInfo);
4382 replaceImage(newImage);
4392 newImage=SharpenImage(constImage(),radius_,sigma_,exceptionInfo);
4393 replaceImage(newImage);
4398 const double radius_,
const double sigma_)
4404 newImage=SharpenImageChannel(constImage(),channel_,radius_,sigma_,
4406 replaceImage(newImage);
4416 shaveInfo=geometry_;
4419 newImage=ShaveImage(constImage(),&shaveInfo,exceptionInfo);
4420 replaceImage(newImage);
4430 newImage=ShearImage(constImage(),xShearAngle_,yShearAngle_,exceptionInfo);
4431 replaceImage(newImage);
4436 const double contrast,
const double midpoint)
4439 (void) SigmoidalContrastImageChannel(image(),DefaultChannels,
4440 (MagickBooleanType) sharpen_,contrast,midpoint);
4441 throwImageException();
4449 Lock lock(&_imgRef->_mutexLock);
4452 if (force_ || !GetImageProperty(constImage(),
"Signature") ||
4453 constImage()->taint)
4454 SignatureImage(const_cast<MagickCore::Image *>(constImage()));
4456 property=GetImageProperty(constImage(),
"Signature");
4458 return(std::string(property));
4462 const double angle_)
4468 newImage=SketchImage(constImage(),radius_,sigma_,angle_,exceptionInfo);
4469 replaceImage(newImage);
4476 SolarizeImage(image(),factor_);
4477 throwImageException();
4481 const SparseColorMethod method,
const size_t number_arguments,
4482 const double *arguments)
4488 newImage=SparseColorImage(constImage(),channel,method,number_arguments,
4489 arguments,exceptionInfo);
4490 replaceImage(newImage);
4500 spliceInfo=geometry_;
4503 newImage=SpliceImage(constImage(),&spliceInfo,exceptionInfo);
4504 replaceImage(newImage);
4509 const Color &backgroundColor_)
4511 backgroundColor(backgroundColor_);
4516 const Color &backgroundColor_,
const GravityType gravity_)
4518 backgroundColor(backgroundColor_);
4519 image()->gravity=gravity_;
4529 newImage=SpreadImage(constImage(),amount_,exceptionInfo);
4530 replaceImage(newImage);
4541 (void) GetImageChannelRange(constImage(),RedChannel,&minimum,&maximum,
4545 (void) GetImageChannelMean(constImage(),RedChannel,&statistics->
red.
mean,
4547 (void) GetImageChannelKurtosis(constImage(),RedChannel,
4549 (void) GetImageChannelRange(constImage(),GreenChannel,&minimum,&maximum,
4553 (void) GetImageChannelMean(constImage(),GreenChannel,&statistics->
green.
mean,
4555 (void) GetImageChannelKurtosis(constImage(),GreenChannel,
4557 (void) GetImageChannelRange(constImage(),BlueChannel,&minimum,&maximum,
4561 (void) GetImageChannelMean(constImage(),BlueChannel,&statistics->
blue.
mean,
4563 (void) GetImageChannelKurtosis(constImage(),BlueChannel,
4565 (void) GetImageChannelRange(constImage(),OpacityChannel,&minimum,&maximum,
4569 (void) GetImageChannelMean(constImage(),OpacityChannel,
4572 (void) GetImageChannelKurtosis(constImage(),OpacityChannel,
4584 newImage=SteganoImage(constImage(),watermark_.
constImage(),exceptionInfo);
4585 replaceImage(newImage);
4595 newImage=StereoImage(constImage(),rightImage_.
constImage(),exceptionInfo);
4596 replaceImage(newImage);
4603 StripImage(image());
4604 throwImageException();
4608 const MetricType metric_,
Geometry *offset_,
double *similarityMetric_,
4609 const double similarityThreshold)
4612 artifact[MaxTextExtent];
4621 (void) FormatLocaleString(artifact,MaxTextExtent,
"%g",similarityThreshold);
4622 (void) SetImageArtifact(image(),
"compare:similarity-threshold",artifact);
4625 newImage=SimilarityMetricImage(image(),reference_.
constImage(),metric_,
4626 &offset,similarityMetric_,exceptionInfo);
4642 newImage=SwirlImage(constImage(),degrees_,exceptionInfo);
4643 replaceImage(newImage);
4650 (void) SyncAuthenticPixels(image(),exceptionInfo);
4658 throwImageException();
4664 BilevelImage(image(),threshold_);
4665 throwImageException();
4681 ParseMetaGeometry(static_cast<std::string>(geometry_).c_str(),&x,&y,&width,
4685 newImage=ThumbnailImage(constImage(),width,height,exceptionInfo);
4686 replaceImage(newImage);
4696 newImage=TintImage(constImage(),opacity_.c_str(),constOptions()->fillColor(),
4698 replaceImage(newImage);
4705 TransformImage(&(image()),0,std::string(imageGeometry_).c_str());
4706 throwImageException();
4713 TransformImage(&(image()),std::string(cropGeometry_).c_str(),
4714 std::string(imageGeometry_).c_str());
4715 throwImageException();
4721 options()->transformOrigin(x_,y_);
4727 options()->transformReset();
4733 options()->transformScale(sx_,sy_);
4749 (void) QueryMagickColor(std::string(color_).c_str(),&target,
4750 &image()->exception);
4752 TransparentPaintImage(image(),&target,TransparentOpacity,MagickFalse);
4753 throwImageException();
4757 const Color &colorHigh_)
4771 colorHigh=colorHigh_;
4773 (void) QueryMagickColor(colorLow.c_str(),&targetLow,&image()->exception);
4774 (void) QueryMagickColor(colorHigh.c_str(),&targetHigh,&image()->exception);
4776 TransparentPaintImageChroma(image(),&targetLow,&targetHigh,
4777 TransparentOpacity,MagickFalse);
4778 throwImageException();
4787 newImage=TransposeImage(constImage(),exceptionInfo);
4788 replaceImage(newImage);
4798 newImage=TransverseImage(constImage(),exceptionInfo);
4799 replaceImage(newImage);
4809 newImage=TrimImage(constImage(),exceptionInfo);
4810 replaceImage(newImage);
4820 image=UniqueImageColors(constImage(),exceptionInfo);
4829 const double amount_,
const double threshold_)
4835 newImage=UnsharpMaskImage(constImage(),radius_,sigma_,amount_,threshold_,
4837 replaceImage(newImage);
4842 const double radius_,
const double sigma_,
const double amount_,
4843 const double threshold_)
4849 newImage=UnsharpMaskImageChannel(constImage(),channel_,radius_,sigma_,
4850 amount_,threshold_,exceptionInfo);
4851 replaceImage(newImage);
4856 const ssize_t x_,
const ssize_t y_)
4862 newImage=VignetteImage(constImage(),radius_,sigma_,x_,y_,exceptionInfo);
4863 replaceImage(newImage);
4873 newImage=WaveImage(constImage(),amplitude_,wavelength_,exceptionInfo);
4874 replaceImage(newImage);
4879 const double softness_)
4885 newImage=WaveletDenoiseImage(constImage(),threshold_,softness_,
4887 replaceImage(newImage);
4894 WhiteThresholdImage(image(),threshold_.c_str());
4895 throwImageException();
4899 const std::string &threshold_)
4903 WhiteThresholdImageChannel(image(),channel_,threshold_.c_str(),
4918 data=ImagesToBlob(constImageInfo(),image(),&length,exceptionInfo);
4922 throwImageException();
4936 data=ImagesToBlob(constImageInfo(),image(),&length,exceptionInfo);
4940 throwImageException();
4944 const size_t depth_)
4956 data=ImagesToBlob(constImageInfo(),image(),&length,exceptionInfo);
4960 throwImageException();
4964 const size_t columns_,
const size_t rows_,
const std::string &map_,
4965 const StorageType type_,
void *pixels_)
4968 ExportImagePixels(constImage(),x_,y_,columns_,rows_,map_.c_str(),type_,
4969 pixels_,exceptionInfo);
4976 fileName(imageSpec_);
4977 WriteImage(constImageInfo(),image());
4978 throwImageException();
4982 unsigned char *destination_)
4987 quantum_info=AcquireQuantumInfo(imageInfo(),image());
4989 ExportQuantumPixels(constImage(),(MagickCore::CacheView *) NULL,quantum_info,
4990 quantum_,destination_,exceptionInfo);
4991 quantum_info=DestroyQuantumInfo(quantum_info);
5008 ParseMetaGeometry(static_cast<std::string>(geometry_).c_str(),&x,&y,&width,
5012 newImage=ResizeImage(constImage(),width,height,image()->filter,image()->blur,
5014 replaceImage(newImage);
5025 return(_imgRef->image());
5030 return(_imgRef->image());
5035 return(_imgRef->options()->imageInfo());
5040 return(_imgRef->options()->imageInfo());
5045 return(_imgRef->options());
5050 return(_imgRef->options());
5055 return(_imgRef->options()->quantizeInfo());
5060 return(_imgRef->options()->quantizeInfo());
5066 Lock lock(&_imgRef->_mutexLock);
5067 if (_imgRef->_refCount == 1)
5072 replaceImage(CloneImage(constImage(),0,0,MagickTrue,exceptionInfo));
5085 image=AcquireImage(constImageInfo());
5088 Lock lock(&_imgRef->_mutexLock);
5090 if (_imgRef->_refCount == 1)
5093 _imgRef->image(image);
5098 --_imgRef->_refCount;
5099 _imgRef=
new ImageRef(image,constOptions());
5103 return(_imgRef->_image);
5109 throwException(&const_cast<MagickCore::Image*>(constImage())->exception,
5114 MagickCore::ExceptionInfo *exceptionInfo)
5127 DestroyImageList(next);
5129 replaceImage(image);
5130 if (exceptionInfo->severity == MagickCore::UndefinedException &&
5133 (void) MagickCore::DestroyExceptionInfo(exceptionInfo);
5141 void Magick::Image::floodFill(
const ssize_t x_,
const ssize_t y_,
5143 const MagickCore::PixelPacket *target_,
const bool invert_)
5155 fillColor=options()->fillColor();
5160 fillPattern=CloneImage(options()->fillPattern(),0,0,MagickTrue,
5168 options()->fillColor(fill_);
5171 options()->fillPattern(fillPattern_->
constImage());
5173 GetMagickPixelPacket(image(),&target);
5174 target.red=target_->red;
5175 target.green=target_->green;
5176 target.blue=target_->blue;
5178 (void) FloodfillPaintImage(image(),DefaultChannels,options()->drawInfo(),
5179 &target,
static_cast<ssize_t
>(x_),static_cast<ssize_t>(y_),
5180 (MagickBooleanType) invert_);
5182 options()->fillColor(fillColor);
5183 options()->fillPattern(fillPattern);
5184 throwImageException();
double strokeWidth(void) const
void distort(const DistortImageMethod method_, const size_t number_arguments_, const double *arguments_, const bool bestfit_=false)
void localContrast(const double radius_, const double strength_)
ImageChannelStatistics blue
void swirl(const double degrees_)
class MagickPPExport Color
void alphaChannel(AlphaChannelType alphaType_)
MagickPPExport const char * borderGeometryDefault
bool quantizeDither(void) const
size_t animationIterations(void) const
void morphology(const MorphologyMethod method_, const std::string kernel_, const ssize_t iterations_=1)
size_t colorMapSize(void) const
void decipher(const std::string &passphrase_)
ImageChannelStatistics green
MagickPPExport int operator!=(const Magick::Color &left_, const Magick::Color &right_)
bool strokeAntiAlias(void) const
void sigmoidalContrast(const size_t sharpen_, const double contrast, const double midpoint=QuantumRange/2.0)
Color textUnderColor(void) const
size_t quality(void) const
void splice(const Geometry &geometry_)
void width(size_t width_)
void resize(const Geometry &geometry_)
void brightnessContrastChannel(const ChannelType channel_, const double brightness_=0.0, const double contrast_=0.0)
double colorFuzz(void) const
void ty(const double ty_)
std::string magick(void) const
const MagickCore::QuantizeInfo * constQuantizeInfo(void) const
void modulate(const double brightness_, const double saturation_, const double hue_)
bool compare(const Image &reference_)
void isValid(bool valid_)
void transform(const Geometry &imageGeometry_)
Geometry page(void) const
void annotate(const std::string &text_, const Geometry &location_)
void transformSkewX(const double skewx_)
void levelChannel(const ChannelType channel, const double black_point, const double white_point, const double mid_point=1.0)
void matteFloodfill(const Color &target_, const unsigned int opacity_, const ::ssize_t x_, const ::ssize_t y_, const PaintMethod method_)
void addNoise(const NoiseType noiseType_)
Blob iccColorProfile(void) const
void floodFillColor(const Geometry &point_, const Color &fillColor_)
InterpolatePixelMethod interpolate(void) const
void floodFillOpacity(const ::ssize_t x_, const ::ssize_t y_, const unsigned int opacity_, const bool invert_=false)
IndexPacket * getIndexes(void)
Color borderColor(void) const
void sparseColor(const ChannelType channel, const SparseColorMethod method, const size_t number_arguments, const double *arguments)
size_t totalColors(void) const
#define ThrowImageException
void process(std::string name_, const ::ssize_t argc_, const char **argv_)
void writePixels(const QuantumType quantum_, unsigned char *destination_)
void charcoal(const double radius_=0.0, const double sigma_=1.0)
void blur(const double radius_=0.0, const double sigma_=1.0)
size_t baseRows(void) const
RenderingIntent renderingIntent(void) const
void profile(const std::string name_, const Blob &colorProfile_)
ImageMoments moments(void) const
std::string view(void) const
void medianFilter(const double radius_=0.0)
DitherMethod quantizeDitherMethod(void) const
void height(size_t height_)
void chop(const Geometry &geometry_)
MagickPPExport const char * raiseGeometryDefault
void composite(const Image &compositeImage_, const Geometry &offset_, const CompositeOperator compose_=InCompositeOp)
void liquidRescale(const Geometry &geometry_)
Image clipMask(void) const
ClassType classType(void) const
void unsharpmask(const double radius_, const double sigma_, const double amount_, const double threshold_)
#define DegreesToRadians(x)
void readPixels(const QuantumType quantum_, const unsigned char *source_)
void clut(const Image &clutImage_)
void negate(const bool grayscale_=false)
static MagickSizeType memory(void)
void connectedComponents(const size_t connectivity_)
std::string baseFilename(void) const
void raise(const Geometry &geometry_=raiseGeometryDefault, const bool raisedFlag_=false)
void fx(const std::string expression)
void whiteThreshold(const std::string &threshold_)
std::string textEncoding(void) const
void crop(const Geometry &geometry_)
void adaptiveResize(const Geometry &geometry_)
Image uniqueColors(void) const
std::string comment(void) const
bool blackPointCompensation(void) const
static void cacheThreshold(const size_t threshold_)
void tx(const double tx_)
DirectionType textDirection() const
void clipPath(const std::string pathname_, const bool inside_)
size_t subImage(void) const
void defineValue(const std::string &magick_, const std::string &key_, const std::string &value_)
ImageType determineType(void) const
void vignette(const double radius_=0.0, const double sigma_=1.0, const ssize_t x_=0, const ssize_t y_=0)
void shade(const double azimuth_=30, const double elevation_=30, const bool colorShading_=false)
void polaroid(const std::string &caption_, const double angle_)
void waveletDenoise(const double threshold_, const double softness_)
Image & operator=(const Image &image_)
void yNegative(bool yNegative_)
void statistics(ImageStatistics *statistics) const
void kuwaharaChannel(const ChannelType channel_, const double radius_=0.0, const double sigma_=1.0)
void zoom(const Geometry &geometry_)
CompositeOperator compose(void) const
StyleType fontStyle(void) const
void randomThresholdChannel(const Geometry &thresholds_, const ChannelType channel_)
FilterTypes filterType(void) const
void blurChannel(const ChannelType channel_, const double radius_=0.0, const double sigma_=1.0)
void morphologyChannel(const ChannelType channel_, const MorphologyMethod method_, const std::string kernel_, const ssize_t iterations_=1)
void highlightColor(const Color color_)
MagickPPExport int operator<(const Magick::Color &left_, const Magick::Color &right_)
void yOff(::ssize_t yOff_)
size_t fontWeight(void) const
double fontPointsize(void) const
size_t quantizeColors(void) const
void rotationalBlurChannel(const ChannelType channel_, const double angle_)
InterlaceType interlaceType(void) const
void adaptiveSharpen(const double radius_=0.0, const double sigma_=1.0)
void level(const double black_point, const double white_point, const double mid_point=1.0)
MagickCore::Image * replaceImage(MagickCore::Image *replacement_)
void transformScale(const double sx_, const double sy_)
size_t modulusDepth(void) const
void encipher(const std::string &passphrase_)
Color strokeColor(void) const
void contrastStretch(const double black_point_, const double white_point_)
double compareChannel(const ChannelType channel_, const Image &reference_, const MetricType metric_)
void linearStretch(const double blackPoint_, const double whitePoint_)
void shadow(const double percent_opacity_=80.0, const double sigma_=0.5, const ssize_t x_=5, const ssize_t y_=5)
Geometry density(void) const
void extent(const Geometry &geometry_)
void colorMatrix(const size_t order_, const double *color_matrix_)
void pixelColor(const ::ssize_t x_, const ::ssize_t y_, const Color &color_)
double textInterlineSpacing(void) const
void fontTypeMetricsMultiline(const std::string &text_, TypeMetric *metrics)
void motionBlur(const double radius_, const double sigma_, const double angle_)
void perceptibleChannel(const ChannelType channel_, const double epsilon_)
std::string format(void) const
void emboss(const double radius_=0.0, const double sigma_=1.0)
void levelColors(const Color &blackColor_, const Color &whiteColor_, const bool invert_=true)
void segment(const double clusterThreshold_=1.0, const double smoothingThreshold_=1.5)
ColorspaceType quantizeColorSpace(void) const
void grayscale(const PixelIntensityMethod method_)
void clampChannel(const ChannelType channel_)
void channelDepth(const ChannelType channel_, const size_t depth_)
void quantumOperator(const ChannelType channel_, const MagickEvaluateOperator operator_, double rvalue_)
void orderedDither(std::string thresholdMap_)
void stegano(const Image &watermark_)
void sharpen(const double radius_=0.0, const double sigma_=1.0)
std::string label(void) const
void chromaWhitePoint(const double x_, const double y_)
std::string signature(const bool force_=false) const
EndianType endian(void) const
MagickPPExport void throwException(MagickCore::ExceptionInfo *exception_, const bool quiet_=false)
MagickCore::Image *& image(void)
double yResolution(void) const
MagickPPExport int operator<=(const Magick::Color &left_, const Magick::Color &right_)
void solarize(const double factor_=50.0)
Geometry size(void) const
size_t columns(void) const
Color penColor(void) const
std::string directory(void) const
ImageChannelStatistics red
MagickPPExport int operator>=(const Magick::Color &left_, const Magick::Color &right_)
void stereo(const Image &rightImage_)
void defineSet(const std::string &magick_, const std::string &key_, bool flag_)
void quantize(const bool measureError_=false)
void read(const Blob &blob_)
OrientationType orientation(void) const
const IndexPacket * getConstIndexes(void) const
void autoGammaChannel(const ChannelType channel_)
void frame(const Geometry &geometry_=frameGeometryDefault)
ColorspaceType colorspaceType(void) const
void orderedDitherChannel(const ChannelType channel_, std::string thresholdMap_)
void throwImageException(void) const
GravityType textGravity() const
void opaque(const Color &opaqueColor_, const Color &penColor_, const bool invert_=MagickFalse)
void shave(const Geometry &geometry_)
CompressionType compressType(void) const
void tint(const std::string opacity_)
void perceptible(const double epsilon_)
double textKerning(void) const
void blackThreshold(const std::string &threshold_)
class MagickPPExport Geometry
void sharpenChannel(const ChannelType channel_, const double radius_=0.0, const double sigma_=1.0)
Image fillPattern(void) const
void fillPattern(const Image &fillPattern_)
void spread(const size_t amount_=3)
void blackThresholdChannel(const ChannelType channel_, const std::string &threshold_)
void edge(const double radius_=0.0)
double normalizedMeanError(void) const
void kuwahara(const double radius_=0.0, const double sigma_=1.0)
double strokeDashOffset(void) const
void texture(const Image &texture_)
void xOff(::ssize_t xOff_)
double meanErrorPerPixel(void) const
size_t baseColumns(void) const
void mergeLayers(const ImageLayerMethod layerType_)
void sepiaTone(const double threshold_)
std::string fileName(void) const
std::string font(void) const
void transparentChroma(const Color &colorLow_, const Color &colorHigh_)
void sy(const double sy_)
void whiteThresholdChannel(const ChannelType channel_, const std::string &threshold_)
void scale(const Geometry &geometry_)
MagickCore::ImageInfo * imageInfo(void)
Image subImageSearch(const Image &reference_, const MetricType metric_, Geometry *offset_, double *similarityMetric_, const double similarityThreshold=(-1.0))
double normalizedMaxError(void) const
const MagickCore::Image * constImage(void) const
void unsharpmaskChannel(const ChannelType channel_, const double radius_, const double sigma_, const double amount_, const double threshold_)
Color matteColor(void) const
void transformRotation(const double angle_)
void artifact(const std::string &name_, const std::string &value_)
double xResolution(void) const
void sx(const double sx_)
void cannyEdge(const double radius_=0.0, const double sigma_=1.0, const double lowerPercent_=0.1, const double upperPercent_=0.3)
MagickPPExport const char * frameGeometryDefault
PixelPacket * setPixels(const ::ssize_t x_, const ::ssize_t y_, const size_t columns_, const size_t rows_)
void attribute(const std::string name_, const std::string value_)
ResolutionType resolutionUnits(void) const
void draw(const Drawable &drawable_)
MagickPPExport void throwExceptionExplicit(const MagickCore::ExceptionType severity_, const char *reason_, const char *description_=(char *) NULL)
Image penTexture(void) const
void contrast(const size_t sharpen_)
void rotationalBlur(const double angle_)
void chromaRedPrimary(const double x_, const double y_)
void opacity(const unsigned int opacity_)
void resample(const Geometry &geometry_)
void posterizeChannel(const ChannelType channel_, const size_t levels_, const bool dither_=false)
void updateNoCopy(void *data_, const size_t length_, Allocator allocator_=NewAllocator)
void implode(const double factor_)
Color fillColor(void) const
size_t subRange(void) const
void gaussianBlur(const double width_, const double sigma_)
double textInterwordSpacing(void) const
Blob exifProfile(void) const
void ping(const Blob &blob_)
void contrastStretchChannel(const ChannelType channel_, const double black_point_, const double white_point_)
LineCap strokeLineCap(void) const
void levelize(const double blackPoint_, const double whitePoint_, const double gamma_=1.0)
void adaptiveSharpenChannel(const ChannelType channel_, const double radius_=0.0, const double sigma_=1.0)
Image strokePattern(void) const
void wave(const double amplitude_=25.0, const double wavelength_=150.0)
void threshold(const double threshold_)
void convolve(const size_t order_, const double *kernel_)
void roll(const Geometry &roll_)
void rx(const double rx_)
Geometry boundingBox(void) const
const Options * constOptions(void) const
VirtualPixelMethod virtualPixelMethod(void) const
void thumbnail(const Geometry &geometry_)
Geometry montageGeometry(void) const
double standard_deviation
void adaptiveBlur(const double radius_=0.0, const double sigma_=1.0)
void posterize(const size_t levels_, const bool dither_=false)
std::string x11Display(void) const
size_t strokeMiterLimit(void) const
void selectiveBlur(const double radius_, const double sigma_, const double threshold_)
void adaptiveThreshold(const size_t width, const size_t height, const ::ssize_t offset=0)
void inverseFourierTransform(const Image &phase_)
void floodFillTexture(const Geometry &point_, const Image &texture_)
void randomThreshold(const Geometry &thresholds_)
Color backgroundColor(void) const
bool isOpaque(void) const
void cdl(const std::string &cdl_)
FillRule fillRule(void) const
Image separate(const ChannelType channel_) const
void isValid(const bool isValid_)
void border(const Geometry &geometry_=borderGeometryDefault)
void chromaBluePrimary(const double x_, const double y_)
bool antiAlias(void) const
void sample(const Geometry &geometry_)
void affineTransform(const DrawableAffine &affine)
void houghLine(const size_t width_, const size_t height_, const size_t threshold_=40)
void levelizeChannel(const ChannelType channel_, const double blackPoint_, const double whitePoint_, const double gamma_=1.0)
void sketch(const double radius_=0.0, const double sigma_=1.0, const double angle_=0.0)
const MagickCore::ImageInfo * constImageInfo(void) const
ColorspaceType colorSpace(void) const
void gaussianBlurChannel(const ChannelType channel_, const double width_, const double sigma_)
std::string formatExpression(const std::string expression)
ImageType type(void) const
std::string backgroundTexture(void) const
void blueShift(const double factor_=1.5)
void ry(const double ry_)
off_t fileSize(void) const
const double * strokeDashArray(void) const
MagickPPExport int operator>(const Magick::Color &left_, const Magick::Color &right_)
void clutChannel(const ChannelType channel_, const Image &clutImage_)
std::string tileName(void) const
Geometry geometry(void) const
MagickPPExport int operator==(const Magick::Color &left_, const Magick::Color &right_)
size_t length(void) const
class MagickPPExport Image
LineJoin strokeLineJoin(void) const
void autoLevelChannel(const ChannelType channel_)
void negateChannel(const ChannelType channel_, const bool grayscale_=false)
size_t quantizeTreeDepth(void) const
const PixelPacket * getConstPixels(const ::ssize_t x_, const ::ssize_t y_, const size_t columns_, const size_t rows_) const
void brightnessContrast(const double brightness_=0.0, const double contrast_=0.0)
MagickCore::QuantizeInfo * quantizeInfo(void)
void channel(const ChannelType channel_)
void strokePattern(const Image &strokePattern_)
ImageChannelStatistics opacity
std::string fontFamily(void) const
void chromaGreenPrimary(const double x_, const double y_)
void deskew(const double threshold_)
void fontTypeMetrics(const std::string &text_, TypeMetric *metrics)
void attenuate(const double attenuate_)
void transformOrigin(const double x_, const double y_)
void colorMap(const size_t index_, const Color &color_)
size_t gifDisposeMethod(void) const
void oilPaint(const double radius_=3.0)
Color boxColor(void) const
void xNegative(bool xNegative_)
void isValid(bool isValid_)
void copyPixels(const Image &source_, const Geometry &geometry_, const Offset &offset_)
bool monochrome(void) const
void addNoiseChannel(const ChannelType channel_, const NoiseType noiseType_)
void cycleColormap(const ::ssize_t amount_)
const void * data(void) const
void selectiveBlurChannel(const ChannelType channel_, const double radius_, const double sigma_, const double threshold_)
size_t animationDelay(void) const
void levelColorsChannel(const ChannelType channel_, const Color &blackColor_, const Color &whiteColor_, const bool invert_=true)
void colorize(const unsigned int opacity_, const Color &penColor_)
void haldClut(const Image &clutImage_)
void transformSkewY(const double skewy_)
void shear(const double xShearAngle_, const double yShearAngle_)
Blob iptcProfile(void) const
PixelPacket * getPixels(const ::ssize_t x_, const ::ssize_t y_, const size_t columns_, const size_t rows_)
void transparent(const Color &color_)
void transformReset(void)
void rotate(const double degrees_)
void map(const Image &mapImage_, const bool dither_=false)
void lowlightColor(const Color color_)