?? imagemagick.h
字號:
//Copyright (c) 2004-2005, Baris Sumengen
//All rights reserved.
//
// CIMPL Matrix Performance Library
//
//Redistribution and use in source and binary
//forms, with or without modification, are
//permitted provided that the following
//conditions are met:
//
// * No commercial use is allowed.
// This software can only be used
// for non-commercial purposes. This
// distribution is mainly intended for
// academic research and teaching.
// * Redistributions of source code must
// retain the above copyright notice, this
// list of conditions and the following
// disclaimer.
// * Redistributions of binary form must
// mention the above copyright notice, this
// list of conditions and the following
// disclaimer in a clearly visible part
// in associated product manual,
// readme, and web site of the redistributed
// software.
// * Redistributions in binary form must
// reproduce the above copyright notice,
// this list of conditions and the
// following disclaimer in the
// documentation and/or other materials
// provided with the distribution.
// * The name of Baris Sumengen may not be
// used to endorse or promote products
// derived from this software without
// specific prior written permission.
//
//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
//HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
//EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
//NOT LIMITED TO, THE IMPLIED WARRANTIES OF
//MERCHANTABILITY AND FITNESS FOR A PARTICULAR
//PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
//CONTRIBUTORS BE LIABLE FOR ANY
//DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
//EXEMPLARY, OR CONSEQUENTIAL DAMAGES
//(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
//OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
//DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
//HOWEVER CAUSED AND ON ANY THEORY OF
//LIABILITY, WHETHER IN CONTRACT, STRICT
//LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
//OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
//OF THIS SOFTWARE, EVEN IF ADVISED OF THE
//POSSIBILITY OF SUCH DAMAGE.
#pragma once
#ifndef IMAGEMAGICK_H
#define IMAGEMAGICK_H
#include <ctime>
#include "cimpl.h"
using namespace CIMPL;
#include "wand/magick_wand.h"#include <wand/drawing_wand.h>
#include <wand/pixel_wand.h>
#ifndef ThrowWandException
#define ThrowWandException(wand) \
{ \
char \
*description; \
\
ExceptionType \
severity; \
\
description=MagickGetException(wand,&severity); \
(void) fprintf(stderr,"%s %s %ld %s\n",GetMagickModule(),description); \
description=(char *) MagickRelinquishMemory(description); \
exit(-1); \
}
#endif
namespace ImageMagick
{
enum CimplImageMap
{
I,
RGB,
RGBA
};
struct CimplImageInfo
{
int Width; //Pixels
int Height; //Pixels
long long Size; //Bytes
string Format;
};
struct CimplColor
{
unsigned char Intensity;
unsigned char Red;
unsigned char Green;
unsigned char Blue;
unsigned char Alpha;
CimplColor()
{
Red = 255;
Green = 255;
Blue = 255;
Alpha = 255;
Intensity = 255;
}
};
//enum NoiseType //{ // UndefinedNoise, // UniformNoise, // GaussianNoise, // MultiplicativeGaussianNoise, // ImpulseNoise, // LaplacianNoise, // PoissonNoise //};
// Query... - Later.
// Annotate() ???
int GetImageColors(MatrixList<unsigned char> &Image);
int GetImageColors(Matrix<unsigned char> &Image);
CimplImageInfo PingImage(string filename);
MatrixList<unsigned char> AdaptiveThresholdImage(MatrixList<unsigned char> &Image, int width, int height, int offset);
Matrix<unsigned char> AdaptiveThresholdImage(Matrix<unsigned char> &Image, int width, int height, int offset);
MatrixList<unsigned char> AddNoiseImage(MatrixList<unsigned char> &Image, NoiseType noise);
Matrix<unsigned char> AddNoiseImage(Matrix<unsigned char> &Image, NoiseType noise);
//AffineTransformImage();
MatrixList<unsigned char> BlackThresholdImage(MatrixList<unsigned char> &Image, CimplColor pixel);
Matrix<unsigned char> BlackThresholdImage(Matrix<unsigned char> &Image, CimplColor pixel);
MatrixList<unsigned char> BlurImage(MatrixList<unsigned char> &Image, double supportRadius, double sigma);
Matrix<unsigned char> BlurImage(Matrix<unsigned char> &Image, double supportRadius, double sigma);
MatrixList<unsigned char> BorderImage(MatrixList<unsigned char> &Image, CimplColor borderColor, int borderWidth, int borderHeight);
Matrix<unsigned char> BorderImage(Matrix<unsigned char> &Image, CimplColor borderColor, int borderWidth, int borderHeight);
MatrixList<unsigned char> CharcoalImage(MatrixList<unsigned char> &Image, double supportRadius, double sigma);
Matrix<unsigned char> CharcoalImage(Matrix<unsigned char> &Image, double supportRadius, double sigma);
MatrixList<unsigned char> ChopImage(MatrixList<unsigned char> &Image, int offsetX, int offsetY, int chopWidth, int chopHeight);
Matrix<unsigned char> ChopImage(Matrix<unsigned char> &Image, int offsetX, int offsetY, int chopWidth, int chopHeight);
MatrixList<unsigned char> CropImage(MatrixList<unsigned char> &Image, int offsetX, int offsetY, int cropWidth, int cropHeight);
Matrix<unsigned char> CropImage(Matrix<unsigned char> &Image, int offsetX, int offsetY, int cropWidth, int cropHeight);
//ColorFloodFillImage();
//DescribeImage();
//ColorizeImage();
//ContrastImage();
//ConvolveImage();
//DespeckleImage();
//DrawImage();
//EdgeImage();
//EmbossImage();
//EnhanceImage();
//EqualizeImage();
//GaussianBlurImage();
//FrameImage();
//ImplodeImage();
//GammaImage();
//LevelImage();
MatrixList<unsigned char> MagnifyImage(MatrixList<unsigned char> &Image);
Matrix<unsigned char> MagnifyImage(Matrix<unsigned char> &Image);
//MedianFilterImage();
//MinifyImage();
//MontageImage();
//Modulateimage();
//MotionBlurImage();
//NegateImage();
//NormalizeImage();
//PreviewImage();
//OilPaintImage();
//PosterizeImage();
//RaiseImage();
//QuantizeImage();
//ReduceNoiseImage();
//ResampleImage();
//ResizeImage();
//RollImage();
//RotateImage();
//SampleImage();
//ScaleImage();
//SharpenImage();
//ShaveImage();
//ShearImage();
//SolarizeImage();
//SpreadImage();
//SpliceImage();
//StereoImage();
//SteganoImage();
//SwirlImage();
//TextureImage();
//TintImage();
//ThresholdImage();
//TrimImage();
//UnsharpMaskImage();
//WaveImage();
//WhiteThresholdImage();
//CompareImages();
//MorphImages();
// Create an object oriented interface to ImageMagick.
};
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -