File indexing completed on 2025-01-18 10:01:18
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #if !defined(Magick_Image_header)
0012 #define Magick_Image_header
0013
0014 #include "Magick++/Include.h"
0015 #include <string>
0016 #include <list>
0017 #include "Magick++/Blob.h"
0018 #include "Magick++/Color.h"
0019 #include "Magick++/Drawable.h"
0020 #include "Magick++/Exception.h"
0021 #include "Magick++/Geometry.h"
0022 #include "Magick++/Statistic.h"
0023 #include "Magick++/TypeMetric.h"
0024
0025 namespace Magick
0026 {
0027
0028 class Options;
0029 class ImageRef;
0030
0031 extern MagickPPExport const char *borderGeometryDefault;
0032 extern MagickPPExport const char *frameGeometryDefault;
0033 extern MagickPPExport const char *raiseGeometryDefault;
0034
0035
0036
0037 MagickPPExport int operator ==
0038 (const Magick::Image &left_,const Magick::Image &right_);
0039 MagickPPExport int operator !=
0040 (const Magick::Image &left_,const Magick::Image &right_);
0041 MagickPPExport int operator >
0042 (const Magick::Image &left_,const Magick::Image &right_);
0043 MagickPPExport int operator <
0044 (const Magick::Image &left_,const Magick::Image &right_);
0045 MagickPPExport int operator >=
0046 (const Magick::Image &left_,const Magick::Image &right_);
0047 MagickPPExport int operator <=
0048 (const Magick::Image &left_,const Magick::Image &right_);
0049
0050
0051
0052
0053
0054
0055 class MagickPPExport Image
0056 {
0057 public:
0058
0059
0060 Image(void);
0061
0062
0063 Image(const Blob &blob_);
0064
0065
0066 Image(const Blob &blob_,const Geometry &size_);
0067
0068
0069 Image(const Blob &blob_,const Geometry &size_,const size_t depth_);
0070
0071
0072
0073 Image(const Blob &blob_,const Geometry &size_,const size_t depth_,
0074 const std::string &magick_);
0075
0076
0077 Image(const Blob &blob_,const Geometry &size_,const std::string &magick_);
0078
0079
0080 Image(const Geometry &size_,const Color &color_);
0081
0082
0083 Image(const Image &image_);
0084
0085
0086 Image(const Image &image_,const Geometry &geometry_);
0087
0088
0089
0090 Image(const size_t width_,const size_t height_,const std::string &map_,
0091 const StorageType type_,const void *pixels_);
0092
0093
0094 Image(const std::string &imageSpec_);
0095
0096
0097 virtual ~Image();
0098
0099
0100 Image& operator=(const Image &image_);
0101
0102
0103 void adjoin(const bool flag_);
0104 bool adjoin(void) const;
0105
0106
0107 void alpha(const bool alphaFlag_);
0108 bool alpha(void) const;
0109
0110
0111 void matteColor(const Color &matteColor_);
0112 Color matteColor(void) const;
0113
0114
0115
0116 void animationDelay(const size_t delay_);
0117 size_t animationDelay(void) const;
0118
0119
0120
0121 void animationIterations(const size_t iterations_);
0122 size_t animationIterations(void) const;
0123
0124
0125 void backgroundColor(const Color &color_);
0126 Color backgroundColor(void) const;
0127
0128
0129 void backgroundTexture(const std::string &backgroundTexture_);
0130 std::string backgroundTexture(void) const;
0131
0132
0133 size_t baseColumns(void) const;
0134
0135
0136 std::string baseFilename(void) const;
0137
0138
0139 size_t baseRows(void) const;
0140
0141
0142 void blackPointCompensation(const bool flag_);
0143 bool blackPointCompensation(void) const;
0144
0145
0146 void borderColor(const Color &color_);
0147 Color borderColor(void) const;
0148
0149
0150
0151
0152 Geometry boundingBox(void) const;
0153
0154
0155 void boxColor(const Color &boxColor_);
0156 Color boxColor(void) const;
0157
0158
0159 void channelDepth(const ChannelType channel_,const size_t depth_);
0160 size_t channelDepth(const ChannelType channel_);
0161
0162
0163 size_t channels() const;
0164
0165
0166
0167
0168
0169
0170
0171 void classType(const ClassType class_);
0172 ClassType classType(void) const;
0173
0174
0175 void colorFuzz(const double fuzz_);
0176 double colorFuzz(void) const;
0177
0178
0179 void colorMapSize(const size_t entries_);
0180 size_t colorMapSize(void) const;
0181
0182
0183 void colorSpace(const ColorspaceType colorSpace_);
0184 ColorspaceType colorSpace(void) const;
0185
0186 void colorSpaceType(const ColorspaceType colorSpace_);
0187 ColorspaceType colorSpaceType(void) const;
0188
0189
0190 size_t columns(void) const;
0191
0192
0193 void comment(const std::string &comment_);
0194 std::string comment(void) const;
0195
0196
0197
0198 void compose(const CompositeOperator compose_);
0199 CompositeOperator compose(void) const;
0200
0201
0202 void compressType(const CompressionType compressType_);
0203 CompressionType compressType(void) const;
0204
0205
0206 void debug(const bool flag_);
0207 bool debug(void) const;
0208
0209
0210 void density(const Point &density_);
0211 Point density(void) const;
0212
0213
0214 void depth(const size_t depth_);
0215 size_t depth(void) const;
0216
0217
0218 std::string directory(void) const;
0219
0220
0221
0222 void endian(const EndianType endian_);
0223 EndianType endian(void) const;
0224
0225
0226 void exifProfile(const Blob &exifProfile_);
0227 Blob exifProfile(void) const;
0228
0229
0230 void fileName(const std::string &fileName_);
0231 std::string fileName(void) const;
0232
0233
0234 MagickSizeType fileSize(void) const;
0235
0236
0237 void fillColor(const Color &fillColor_);
0238 Color fillColor(void) const;
0239
0240
0241 void fillRule(const FillRule &fillRule_);
0242 FillRule fillRule(void) const;
0243
0244
0245 void fillPattern(const Image &fillPattern_);
0246 Image fillPattern(void) const;
0247
0248
0249 void filterType(const FilterType filterType_);
0250 FilterType filterType(void) const;
0251
0252
0253 void font(const std::string &font_);
0254 std::string font(void) const;
0255
0256
0257 void fontFamily(const std::string &family_);
0258 std::string fontFamily(void) const;
0259
0260
0261 void fontPointsize(const double pointSize_);
0262 double fontPointsize(void) const;
0263
0264
0265 void fontStyle(const StyleType style_);
0266 StyleType fontStyle(void) const;
0267
0268
0269 void fontWeight(const size_t weight_);
0270 size_t fontWeight(void) const;
0271
0272
0273 std::string format(void) const;
0274
0275
0276
0277 std::string formatExpression(const std::string expression);
0278
0279
0280 double gamma(void) const;
0281
0282
0283 Geometry geometry(void) const;
0284
0285
0286 void gifDisposeMethod(const DisposeType disposeMethod_);
0287 DisposeType gifDisposeMethod(void) const;
0288
0289 bool hasChannel(const PixelChannel channel) const;
0290
0291
0292 void highlightColor(const Color color_);
0293
0294
0295 void iccColorProfile(const Blob &colorProfile_);
0296 Blob iccColorProfile(void) const;
0297
0298
0299 void interlaceType(const InterlaceType interlace_);
0300 InterlaceType interlaceType(void) const;
0301
0302
0303 void interpolate(const PixelInterpolateMethod interpolate_);
0304 PixelInterpolateMethod interpolate(void) const;
0305
0306
0307 void iptcProfile(const Blob &iptcProfile_);
0308 Blob iptcProfile(void) const;
0309
0310
0311
0312 bool isOpaque(void) const;
0313
0314
0315 void isValid(const bool isValid_);
0316 bool isValid(void) const;
0317
0318
0319 void label(const std::string &label_);
0320 std::string label(void) const;
0321
0322
0323 void lowlightColor(const Color color_);
0324
0325
0326 void magick(const std::string &magick_);
0327 std::string magick(void) const;
0328
0329
0330 void masklightColor(const Color color_);
0331
0332
0333 double meanErrorPerPixel(void) const;
0334
0335
0336
0337 void modulusDepth(const size_t modulusDepth_);
0338 size_t modulusDepth(void) const;
0339
0340
0341 void monochrome(const bool monochromeFlag_);
0342 bool monochrome(void) const;
0343
0344
0345 Geometry montageGeometry(void) const;
0346
0347
0348
0349 double normalizedMaxError(void) const;
0350
0351
0352
0353 double normalizedMeanError(void) const;
0354
0355
0356 void orientation(const OrientationType orientation_);
0357 OrientationType orientation(void) const;
0358
0359
0360 void page(const Geometry &pageSize_);
0361 Geometry page(void) const;
0362
0363
0364 void quality(const size_t quality_);
0365 size_t quality(void) const;
0366
0367
0368 void quantizeColors(const size_t colors_);
0369 size_t quantizeColors(void) const;
0370
0371
0372 void quantizeColorSpace(const ColorspaceType colorSpace_);
0373 ColorspaceType quantizeColorSpace(void) const;
0374
0375
0376 void quantizeDither(const bool ditherFlag_);
0377 bool quantizeDither(void) const;
0378
0379
0380 void quantizeDitherMethod(const DitherMethod ditherMethod_);
0381 DitherMethod quantizeDitherMethod(void) const;
0382
0383
0384 void quantizeTreeDepth(const size_t treeDepth_);
0385 size_t quantizeTreeDepth(void) const;
0386
0387
0388 void quiet(const bool quiet_);
0389 bool quiet(void) const;
0390
0391
0392 void renderingIntent(const RenderingIntent renderingIntent_);
0393 RenderingIntent renderingIntent(void) const;
0394
0395
0396 void resolutionUnits(const ResolutionType resolutionUnits_);
0397 ResolutionType resolutionUnits(void) const;
0398
0399
0400 size_t rows(void) const;
0401
0402
0403 void samplingFactor(const std::string &samplingFactor_);
0404 std::string samplingFactor(void) const;
0405
0406
0407 void scene(const size_t scene_);
0408 size_t scene(void) const;
0409
0410
0411 void size(const Geometry &geometry_);
0412 Geometry size(void) const;
0413
0414
0415 void strokeAntiAlias(const bool flag_);
0416 bool strokeAntiAlias(void) const;
0417
0418
0419 void strokeColor(const Color &strokeColor_);
0420 Color strokeColor(void) const;
0421
0422
0423
0424
0425
0426
0427
0428
0429
0430 void strokeDashArray(const double *strokeDashArray_);
0431 const double *strokeDashArray(void) const;
0432
0433
0434
0435 void strokeDashOffset(const double strokeDashOffset_);
0436 double strokeDashOffset(void) const;
0437
0438
0439
0440
0441 void strokeLineCap(const LineCap lineCap_);
0442 LineCap strokeLineCap(void) const;
0443
0444
0445
0446
0447 void strokeLineJoin(const LineJoin lineJoin_);
0448 LineJoin strokeLineJoin(void) const;
0449
0450
0451
0452
0453
0454
0455
0456 void strokeMiterLimit(const size_t miterLimit_);
0457 size_t strokeMiterLimit(void) const;
0458
0459
0460 void strokePattern(const Image &strokePattern_);
0461 Image strokePattern(void) const;
0462
0463
0464 void strokeWidth(const double strokeWidth_);
0465 double strokeWidth(void) const;
0466
0467
0468 void subImage(const size_t subImage_);
0469 size_t subImage(void) const;
0470
0471
0472 void subRange(const size_t subRange_);
0473 size_t subRange(void) const;
0474
0475
0476 void textAntiAlias(const bool flag_);
0477 bool textAntiAlias(void) const;
0478
0479
0480 void textDirection(DirectionType direction_);
0481 DirectionType textDirection() const;
0482
0483
0484 void textEncoding(const std::string &encoding_);
0485 std::string textEncoding(void) const;
0486
0487
0488 void textGravity(GravityType gravity_);
0489 GravityType textGravity() const;
0490
0491
0492 void textInterlineSpacing(double spacing_);
0493 double textInterlineSpacing(void) const;
0494
0495
0496 void textInterwordSpacing(double spacing_);
0497 double textInterwordSpacing(void) const;
0498
0499
0500 void textKerning(double kerning_);
0501 double textKerning(void) const;
0502
0503
0504 void textUnderColor(const Color &underColor_);
0505 Color textUnderColor(void) const;
0506
0507
0508 size_t totalColors(void) const;
0509
0510
0511 void transformRotation(const double angle_);
0512
0513
0514 void transformSkewX(const double skewx_);
0515
0516
0517 void transformSkewY(const double skewy_);
0518
0519
0520
0521
0522
0523
0524
0525
0526 void type(const ImageType type_);
0527 ImageType type(void) const;
0528
0529
0530 void verbose(const bool verboseFlag_);
0531 bool verbose(void) const;
0532
0533
0534 void virtualPixelMethod(const VirtualPixelMethod virtualPixelMethod_);
0535 VirtualPixelMethod virtualPixelMethod(void) const;
0536
0537
0538
0539 void x11Display(const std::string &display_);
0540 std::string x11Display(void) const;
0541
0542
0543 double xResolution(void) const;
0544
0545
0546 double yResolution(void) const;
0547
0548
0549
0550
0551
0552 void adaptiveBlur(const double radius_=0.0,const double sigma_=1.0);
0553
0554
0555
0556
0557
0558 void adaptiveResize(const Geometry &geometry_);
0559
0560
0561
0562
0563
0564 void adaptiveSharpen(const double radius_=0.0,const double sigma_=1.0);
0565 void adaptiveSharpenChannel(const ChannelType channel_,
0566 const double radius_=0.0,const double sigma_=1.0);
0567
0568
0569
0570
0571
0572 void adaptiveThreshold(const size_t width_,const size_t height_,
0573 const double bias_=0.0);
0574
0575
0576 void addNoise(const NoiseType noiseType_,const double attenuate_=1.0);
0577 void addNoiseChannel(const ChannelType channel_,
0578 const NoiseType noiseType_,const double attenuate_=1.0);
0579
0580
0581 void affineTransform(const DrawableAffine &affine);
0582
0583
0584
0585
0586
0587
0588
0589
0590 void alpha(const unsigned int alpha_);
0591
0592
0593
0594 void alphaChannel(AlphaChannelOption alphaOption_);
0595
0596
0597
0598
0599
0600
0601
0602
0603
0604
0605
0606
0607
0608
0609
0610
0611 void annotate(const std::string &text_,const Geometry &location_);
0612
0613
0614
0615 void annotate(const std::string &text_,const Geometry &boundingArea_,
0616 const GravityType gravity_);
0617
0618
0619
0620 void annotate(const std::string &text_,const Geometry &boundingArea_,
0621 const GravityType gravity_,const double degrees_);
0622
0623
0624
0625 void annotate(const std::string &text_,const GravityType gravity_);
0626
0627
0628
0629 void artifact(const std::string &name_,const std::string &value_);
0630
0631
0632 std::string artifact(const std::string &name_) const;
0633
0634
0635 void attribute(const std::string name_,const char *value_);
0636 void attribute(const std::string name_,const std::string value_);
0637 std::string attribute(const std::string name_) const;
0638
0639
0640
0641 void autoGamma(void);
0642 void autoGammaChannel(const ChannelType channel_);
0643
0644
0645
0646 void autoLevel(void);
0647 void autoLevelChannel(const ChannelType channel_);
0648
0649
0650 void autoOrient(void);
0651
0652
0653
0654
0655 void autoThreshold(const AutoThresholdMethod method_);
0656
0657
0658
0659 void blackThreshold(const std::string &threshold_);
0660 void blackThresholdChannel(const ChannelType channel_,
0661 const std::string &threshold_);
0662
0663
0664 void blueShift(const double factor_=1.5);
0665
0666
0667
0668
0669
0670 void blur(const double radius_=0.0,const double sigma_=1.0);
0671 void blurChannel(const ChannelType channel_,const double radius_=0.0,
0672 const double sigma_=1.0);
0673
0674
0675 void border(const Geometry &geometry_=borderGeometryDefault);
0676
0677
0678
0679
0680 void brightnessContrast(const double brightness_=0.0,
0681 const double contrast_=0.0);
0682 void brightnessContrastChannel(const ChannelType channel_,
0683 const double brightness_=0.0,const double contrast_=0.0);
0684
0685
0686 void cannyEdge(const double radius_=0.0,const double sigma_=1.0,
0687 const double lowerPercent_=0.1,const double upperPercent_=0.3);
0688
0689
0690
0691
0692 void cdl(const std::string &cdl_);
0693
0694
0695 void channel(const ChannelType channel_);
0696
0697
0698
0699
0700
0701 void charcoal(const double radius_=0.0,const double sigma_=1.0);
0702 void charcoalChannel(const ChannelType channel_,const double radius_=0.0,
0703 const double sigma_=1.0);
0704
0705
0706
0707
0708 void chop(const Geometry &geometry_);
0709
0710
0711 void chromaBluePrimary(const double x_,const double y_,const double z_);
0712 void chromaBluePrimary(double *x_,double *y_,double *z_) const;
0713
0714
0715 void chromaGreenPrimary(const double x_,const double y_,const double z_);
0716 void chromaGreenPrimary(double *x_,double *y_,double *z_) const;
0717
0718
0719 void chromaRedPrimary(const double x_,const double y_,const double z_);
0720 void chromaRedPrimary(double *x_,double *y_,double *z_) const;
0721
0722
0723 void chromaWhitePoint(const double x_,const double y_,const double z_);
0724 void chromaWhitePoint(double *x_,double *y_,double *z_) const;
0725
0726
0727
0728
0729 void clamp(void);
0730 void clampChannel(const ChannelType channel_);
0731
0732
0733
0734 void clip(void);
0735 void clipPath(const std::string pathname_,const bool inside_);
0736
0737
0738 void clut(const Image &clutImage_,const PixelInterpolateMethod method);
0739 void clutChannel(const ChannelType channel_,const Image &clutImage_,
0740 const PixelInterpolateMethod method);
0741
0742
0743 void colorize(const unsigned int alpha_,const Color &penColor_);
0744
0745
0746
0747 void colorize(const unsigned int alphaRed_,const unsigned int alphaGreen_,
0748 const unsigned int alphaBlue_,const Color &penColor_);
0749
0750
0751 void colorMap(const size_t index_,const Color &color_);
0752 Color colorMap(const size_t index_) const;
0753
0754
0755
0756 void colorMatrix(const size_t order_,const double *color_matrix_);
0757
0758
0759
0760 bool compare(const Image &reference_) const;
0761
0762
0763
0764 double compare(const Image &reference_,const MetricType metric_);
0765 double compareChannel(const ChannelType channel_,
0766 const Image &reference_,
0767 const MetricType metric_ );
0768
0769
0770
0771 Image compare(const Image &reference_,const MetricType metric_,
0772 double *distortion);
0773 Image compareChannel(const ChannelType channel_,const Image &reference_,
0774 const MetricType metric_,double *distortion);
0775
0776
0777
0778 void composite(const Image &compositeImage_,const Geometry &offset_,
0779 const CompositeOperator compose_=InCompositeOp);
0780 void composite(const Image &compositeImage_,const GravityType gravity_,
0781 const CompositeOperator compose_=InCompositeOp);
0782 void composite(const Image &compositeImage_,const ::ssize_t xOffset_,
0783 const ::ssize_t yOffset_,const CompositeOperator compose_=InCompositeOp);
0784
0785
0786 void connectedComponents(const size_t connectivity_);
0787
0788
0789 void contrast(const bool sharpen_);
0790
0791
0792
0793
0794
0795
0796
0797 void contrastStretch(const double blackPoint_,const double whitePoint_);
0798 void contrastStretchChannel(const ChannelType channel_,
0799 const double blackPoint_,const double whitePoint_);
0800
0801
0802
0803
0804 void convolve(const size_t order_,const double *kernel_);
0805
0806
0807
0808 void copyPixels(const Image &source_,const Geometry &geometry_,
0809 const Offset &offset_);
0810
0811
0812 void crop(const Geometry &geometry_);
0813
0814
0815 void cycleColormap(const ::ssize_t amount_);
0816
0817
0818 void decipher(const std::string &passphrase_);
0819
0820
0821
0822
0823
0824
0825 void defineSet(const std::string &magick_,const std::string &key_,
0826 bool flag_);
0827 bool defineSet(const std::string &magick_,const std::string &key_) const;
0828
0829
0830
0831
0832
0833
0834 void defineValue(const std::string &magick_,const std::string &key_,
0835 const std::string &value_);
0836 std::string defineValue(const std::string &magick_,
0837 const std::string &key_) const;
0838
0839
0840
0841
0842
0843
0844 void deskew(const double threshold_);
0845
0846
0847 void despeckle(void);
0848
0849
0850 void display(void);
0851
0852
0853
0854
0855
0856 void distort(const DistortMethod method_,
0857 const size_t numberArguments_,const double *arguments_,
0858 const bool bestfit_=false);
0859
0860
0861 void draw(const Drawable &drawable_);
0862
0863
0864 void draw(const std::vector<Magick::Drawable> &drawable_);
0865
0866
0867 void edge(const double radius_=0.0);
0868
0869
0870
0871
0872
0873 void emboss(const double radius_=0.0,const double sigma_=1.0);
0874
0875
0876 void encipher(const std::string &passphrase_);
0877
0878
0879 void enhance(void);
0880
0881
0882 void equalize(void);
0883
0884
0885 void erase(void);
0886
0887
0888 void evaluate(const ChannelType channel_,
0889 const MagickEvaluateOperator operator_,double rvalue_);
0890
0891
0892 void evaluate(const ChannelType channel_,const MagickFunction function_,
0893 const size_t number_parameters_,const double *parameters_);
0894
0895
0896 void evaluate(const ChannelType channel_,const ::ssize_t x_,
0897 const ::ssize_t y_,const size_t columns_,const size_t rows_,
0898 const MagickEvaluateOperator operator_,const double rvalue_);
0899
0900
0901 void extent(const Geometry &geometry_);
0902 void extent(const Geometry &geometry_,const Color &backgroundColor);
0903 void extent(const Geometry &geometry_,const Color &backgroundColor,
0904 const GravityType gravity_);
0905 void extent(const Geometry &geometry_,const GravityType gravity_);
0906
0907
0908 void flip(void);
0909
0910
0911
0912 void floodFillAlpha(const ::ssize_t x_,const ::ssize_t y_,
0913 const unsigned int alpha_,const bool invert_=false);
0914
0915
0916 void floodFillAlpha(const ssize_t x_,const ssize_t y_,
0917 const unsigned int alpha_,const Color &target_,const bool invert_=false);
0918
0919
0920
0921
0922 void floodFillColor(const Geometry &point_,const Color &fillColor_,
0923 const bool invert_=false);
0924 void floodFillColor(const ::ssize_t x_,const ::ssize_t y_,
0925 const Color &fillColor_,const bool invert_=false);
0926
0927
0928
0929
0930 void floodFillColor(const Geometry &point_,const Color &fillColor_,
0931 const Color &borderColor_,const bool invert_=false);
0932 void floodFillColor(const ::ssize_t x_,const ::ssize_t y_,
0933 const Color &fillColor_,const Color &borderColor_,
0934 const bool invert_=false);
0935
0936
0937
0938
0939 void floodFillTexture(const Geometry &point_,const Image &texture_,
0940 const bool invert_=false);
0941 void floodFillTexture(const ::ssize_t x_,const ::ssize_t y_,
0942 const Image &texture_,const bool invert_=false);
0943
0944
0945
0946
0947 void floodFillTexture(const Geometry &point_,const Image &texture_,
0948 const Color &borderColor_,const bool invert_=false);
0949 void floodFillTexture(const ::ssize_t x_,const ::ssize_t y_,
0950 const Image &texture_,const Color &borderColor_,
0951 const bool invert_=false);
0952
0953
0954 void flop(void);
0955
0956
0957
0958 void fontTypeMetrics(const std::string &text_,TypeMetric *metrics);
0959
0960
0961
0962 void fontTypeMetricsMultiline(const std::string &text_,
0963 TypeMetric *metrics);
0964
0965
0966 void frame(const Geometry &geometry_=frameGeometryDefault);
0967 void frame(const size_t width_,const size_t height_,
0968 const ::ssize_t innerBevel_=6,const ::ssize_t outerBevel_=6);
0969
0970
0971 void fx(const std::string expression_);
0972 void fx(const std::string expression_,const Magick::ChannelType channel_);
0973
0974
0975 void gamma(const double gamma_);
0976 void gamma(const double gammaRed_,const double gammaGreen_,
0977 const double gammaBlue_);
0978
0979
0980
0981
0982
0983 void gaussianBlur(const double radius_,const double sigma_);
0984 void gaussianBlurChannel(const ChannelType channel_,const double radius_,
0985 const double sigma_);
0986
0987
0988
0989 const Quantum *getConstPixels(const ::ssize_t x_, const ::ssize_t y_,
0990 const size_t columns_,const size_t rows_) const;
0991
0992
0993
0994 const void *getConstMetacontent(void) const;
0995
0996
0997
0998 void *getMetacontent(void);
0999
1000
1001
1002
1003
1004 Quantum *getPixels(const ::ssize_t x_,const ::ssize_t y_,
1005 const size_t columns_,const size_t rows_);
1006
1007
1008 void grayscale(const PixelIntensityMethod method_);
1009
1010
1011 void haldClut(const Image &clutImage_);
1012
1013
1014 void houghLine(const size_t width_,const size_t height_,
1015 const size_t threshold_=40);
1016
1017
1018
1019 ImageType identifyType(void) const;
1020
1021
1022 void implode(const double factor_);
1023
1024
1025
1026 void inverseFourierTransform(const Image &phase_);
1027 void inverseFourierTransform(const Image &phase_,const bool magnitude_);
1028
1029
1030 void kuwahara(const double radius_=0.0,const double sigma_=1.0);
1031 void kuwaharaChannel(const ChannelType channel_,const double radius_=0.0,
1032 const double sigma_=1.0);
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045 void level(const double blackPoint_,const double whitePoint_,
1046 const double gamma_=1.0);
1047 void levelChannel(const ChannelType channel_,const double blackPoint_,
1048 const double whitePoint_,const double gamma_=1.0);
1049
1050
1051
1052
1053
1054 void levelColors(const Color &blackColor_,const Color &whiteColor_,
1055 const bool invert_=true);
1056 void levelColorsChannel(const ChannelType channel_,
1057 const Color &blackColor_,const Color &whiteColor_,
1058 const bool invert_=true);
1059
1060
1061
1062
1063
1064 void levelize(const double blackPoint_,const double whitePoint_,
1065 const double gamma_=1.0);
1066 void levelizeChannel(const ChannelType channel_,const double blackPoint_,
1067 const double whitePoint_,const double gamma_=1.0);
1068
1069
1070
1071 void linearStretch(const double blackPoint_,const double whitePoint_);
1072
1073
1074 void liquidRescale(const Geometry &geometry_);
1075
1076
1077 void localContrast(const double radius_,const double strength_);
1078 void localContrastChannel(const ChannelType channel_,const double radius_,
1079 const double strength_);
1080
1081
1082 void magnify(void);
1083
1084
1085 void map(const Image &mapImage_,const bool dither_=false);
1086
1087
1088 void meanShift(const size_t width_,const size_t height_,
1089 const double color_distance_);
1090
1091
1092
1093 void medianFilter(const double radius_=0.0);
1094
1095
1096 void minify(void);
1097
1098
1099 void modulate(const double brightness_,const double saturation_,
1100 const double hue_);
1101
1102
1103 ImageMoments moments(void) const;
1104
1105
1106 void morphology(const MorphologyMethod method_,const std::string kernel_,
1107 const ssize_t iterations_=1);
1108 void morphology(const MorphologyMethod method_,
1109 const KernelInfoType kernel_,const std::string arguments_,
1110 const ssize_t iterations_=1);
1111 void morphologyChannel(const ChannelType channel_,
1112 const MorphologyMethod method_,const std::string kernel_,
1113 const ssize_t iterations_=1);
1114 void morphologyChannel(const ChannelType channel_,
1115 const MorphologyMethod method_,const KernelInfoType kernel_,
1116 const std::string arguments_,const ssize_t iterations_=1);
1117
1118
1119
1120
1121
1122
1123
1124 void motionBlur(const double radius_,const double sigma_,
1125 const double angle_);
1126
1127
1128
1129 void negate(const bool grayscale_=false);
1130 void negateChannel(const ChannelType channel_,const bool grayscale_=false);
1131
1132
1133
1134 void normalize(void);
1135
1136
1137 void oilPaint(const double radius_=0.0,const double sigma=1.0);
1138
1139
1140 void opaque(const Color &opaqueColor_,const Color &penColor_,
1141 const bool invert_=false);
1142
1143
1144
1145 void orderedDither(std::string thresholdMap_);
1146 void orderedDitherChannel(const ChannelType channel_,
1147 std::string thresholdMap_);
1148
1149
1150
1151
1152 void perceptible(const double epsilon_);
1153 void perceptibleChannel(const ChannelType channel_,const double epsilon_);
1154
1155
1156 Magick::ImagePerceptualHash perceptualHash() const;
1157
1158
1159
1160
1161
1162 void ping(const std::string &imageSpec_);
1163
1164
1165
1166
1167
1168 void ping(const Blob &blob_);
1169
1170
1171 void pixelColor(const ::ssize_t x_,const ::ssize_t y_,const Color &color_);
1172 Color pixelColor(const ::ssize_t x_,const ::ssize_t y_ ) const;
1173
1174
1175 void polaroid(const std::string &caption_,const double angle_,
1176 const PixelInterpolateMethod method_);
1177
1178
1179 void posterize(const size_t levels_,const DitherMethod method_);
1180 void posterizeChannel(const ChannelType channel_,const size_t levels_,
1181 const DitherMethod method_);
1182
1183
1184
1185
1186
1187 void process(std::string name_,const ::ssize_t argc_,const char **argv_);
1188
1189
1190
1191
1192 void profile(const std::string name_,const Blob &colorProfile_);
1193
1194
1195
1196
1197 Blob profile(const std::string name_) const;
1198
1199
1200 void quantize(const bool measureError_=false);
1201
1202
1203
1204 void raise(const Geometry &geometry_=raiseGeometryDefault,
1205 const bool raisedFlag_=false);
1206
1207
1208
1209
1210
1211
1212 void randomThreshold(const double low_,const double high_);
1213 void randomThresholdChannel(const ChannelType channel_,const double low_,
1214 const double high_);
1215
1216
1217 void read(const Blob &blob_);
1218
1219
1220 void read(const Blob &blob_,const Geometry &size_);
1221
1222
1223
1224 void read(const Blob &blob_,const Geometry &size_,const size_t depth_);
1225
1226
1227
1228 void read(const Blob &blob_,const Geometry &size_,const size_t depth_,
1229 const std::string &magick_);
1230
1231
1232
1233 void read(const Blob &blob_,const Geometry &size_,
1234 const std::string &magick_);
1235
1236
1237 void read(const Geometry &size_,const std::string &imageSpec_);
1238
1239
1240
1241
1242 void read(const size_t width_,const size_t height_,const std::string &map_,
1243 const StorageType type_,const void *pixels_);
1244
1245
1246 void read(const std::string &imageSpec_);
1247
1248
1249
1250 void readMask(const Image &mask_);
1251 Image readMask(void) const;
1252
1253
1254
1255
1256 void readPixels(const QuantumType quantum_,const unsigned char *source_);
1257
1258
1259 void reduceNoise(void);
1260 void reduceNoise(const size_t order_);
1261
1262
1263 void repage();
1264
1265
1266 void resample(const Point &density_);
1267
1268
1269 void resize(const Geometry &geometry_);
1270
1271
1272
1273 void roll(const Geometry &roll_);
1274 void roll(const size_t columns_,const size_t rows_);
1275
1276
1277
1278 void rotate(const double degrees_);
1279
1280
1281 void rotationalBlur(const double angle_);
1282 void rotationalBlurChannel(const ChannelType channel_,const double angle_);
1283
1284
1285 void sample(const Geometry &geometry_);
1286
1287
1288 void scale(const Geometry &geometry_);
1289
1290
1291
1292
1293
1294 void segment(const double clusterThreshold_=1.0,
1295 const double smoothingThreshold_=1.5);
1296
1297
1298
1299
1300 void selectiveBlur(const double radius_,const double sigma_,
1301 const double threshold_);
1302 void selectiveBlurChannel(const ChannelType channel_,const double radius_,
1303 const double sigma_,const double threshold_);
1304
1305
1306 Image separate(const ChannelType channel_) const;
1307
1308
1309
1310
1311
1312 void sepiaTone(const double threshold_);
1313
1314
1315
1316 bool setColorMetric(const Image &reference_);
1317
1318
1319
1320
1321 Quantum *setPixels(const ::ssize_t x_, const ::ssize_t y_,
1322 const size_t columns_,const size_t rows_);
1323
1324
1325 void shade(const double azimuth_=30,const double elevation_=30,
1326 const bool colorShading_=false);
1327
1328
1329 void shadow(const double percentAlpha_=80.0,const double sigma_=0.5,
1330 const ssize_t x_=5,const ssize_t y_=5);
1331
1332
1333
1334
1335
1336 void sharpen(const double radius_=0.0,const double sigma_=1.0);
1337 void sharpenChannel(const ChannelType channel_,const double radius_=0.0,
1338 const double sigma_=1.0);
1339
1340
1341 void shave(const Geometry &geometry_);
1342
1343
1344 void shear(const double xShearAngle_,const double yShearAngle_);
1345
1346
1347 void sigmoidalContrast(const bool sharpen_,const double contrast,
1348 const double midpoint=QuantumRange/2.0);
1349
1350
1351
1352
1353 std::string signature(const bool force_=false) const;
1354
1355
1356
1357
1358
1359 void sketch(const double radius_=0.0,const double sigma_=1.0,
1360 const double angle_=0.0);
1361
1362
1363
1364 void solarize(const double factor_=50.0);
1365
1366
1367
1368
1369 void sparseColor(const ChannelType channel_,
1370 const SparseColorMethod method_,const size_t numberArguments_,
1371 const double *arguments_);
1372
1373
1374 void splice(const Geometry &geometry_);
1375 void splice(const Geometry &geometry_,const Color &backgroundColor_);
1376 void splice(const Geometry &geometry_,const Color &backgroundColor_,
1377 const GravityType gravity_);
1378
1379
1380 void spread(const double amount_=3.0);
1381
1382
1383 Magick::ImageStatistics statistics() const;
1384
1385
1386 void stegano(const Image &watermark_);
1387
1388
1389
1390 void stereo(const Image &rightImage_);
1391
1392
1393 void strip(void);
1394
1395
1396
1397
1398
1399 Image subImageSearch(const Image &reference_,const MetricType metric_,
1400 Geometry *offset_,double *similarityMetric_,
1401 const double similarityThreshold=(-1.0));
1402
1403
1404 void swirl(const double degrees_);
1405
1406
1407 void syncPixels(void);
1408
1409
1410 void texture(const Image &texture_);
1411
1412
1413 void threshold(const double threshold_);
1414
1415
1416 void thumbnail(const Geometry &geometry_);
1417
1418
1419
1420
1421 void tint(const std::string opacity_);
1422
1423
1424 void transformOrigin(const double x_,const double y_);
1425
1426
1427 void transformReset(void);
1428
1429
1430 void transformScale(const double sx_,const double sy_);
1431
1432
1433
1434 void transparent(const Color &color_,const bool inverse_=false);
1435
1436
1437
1438 void transparentChroma(const Color &colorLow_,const Color &colorHigh_);
1439
1440
1441
1442 void transpose(void);
1443
1444
1445
1446 void transverse(void);
1447
1448
1449 void trim(void);
1450
1451
1452 Image uniqueColors(void) const;
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466 void unsharpmask(const double radius_,const double sigma_,
1467 const double amount_,const double threshold_);
1468 void unsharpmaskChannel(const ChannelType channel_,const double radius_,
1469 const double sigma_,const double amount_,const double threshold_);
1470
1471
1472 void vignette(const double radius_=0.0,const double sigma_=1.0,
1473 const ssize_t x_=0,const ssize_t y_=0);
1474
1475
1476 void wave(const double amplitude_=25.0,const double wavelength_=150.0);
1477
1478
1479 void waveletDenoise(const double threshold_,const double softness_);
1480
1481
1482
1483 void whiteThreshold(const std::string &threshold_);
1484 void whiteThresholdChannel(const ChannelType channel_,
1485 const std::string &threshold_);
1486
1487
1488
1489 void write(Blob *blob_);
1490 void write(Blob *blob_,const std::string &magick_);
1491 void write(Blob *blob_,const std::string &magick_,const size_t depth_);
1492
1493
1494
1495
1496 void write(const ::ssize_t x_,const ::ssize_t y_,const size_t columns_,
1497 const size_t rows_,const std::string &map_,const StorageType type_,
1498 void *pixels_);
1499
1500
1501 void write(const std::string &imageSpec_);
1502
1503
1504
1505 void writeMask(const Image &mask_);
1506 Image writeMask(void) const;
1507
1508
1509
1510
1511 void writePixels(const QuantumType quantum_,unsigned char *destination_);
1512
1513
1514 void zoom(const Geometry &geometry_);
1515
1516
1517
1518
1519
1520
1521
1522
1523 Image(MagickCore::Image *image_);
1524
1525
1526 MagickCore::Image *&image(void);
1527 const MagickCore::Image *constImage(void) const;
1528
1529
1530 MagickCore::ImageInfo *imageInfo(void);
1531 const MagickCore::ImageInfo *constImageInfo(void) const;
1532
1533
1534 Options *options(void);
1535 const Options *constOptions(void) const;
1536
1537
1538 MagickCore::QuantizeInfo *quantizeInfo(void);
1539 const MagickCore::QuantizeInfo *constQuantizeInfo(void) const;
1540
1541
1542 void modifyImage(void);
1543
1544
1545 MagickCore::Image *replaceImage(MagickCore::Image *replacement_);
1546
1547 private:
1548
1549 void floodFill(const ssize_t x_,const ssize_t y_,
1550 const Magick::Image *fillPattern_,const Color &fill_,
1551 const PixelInfo *target,const bool invert_);
1552
1553 void mask(const Image &mask_,const PixelMask);
1554 Image mask(const PixelMask) const;
1555
1556 void read(MagickCore::Image *image,
1557 MagickCore::ExceptionInfo *exceptionInfo);
1558
1559 ImageRef *_imgRef;
1560 };
1561
1562 }
1563
1564 #endif