Imagick::distortImage
(PECL imagick 2.0.1)
Imagick::distortImage — Distorts an image using various distortion methods
Description
$method
, array $arguments
, bool $bestfit
)
Distorts an image using various distortion methods, by mapping color
lookups of the source image to a new destination image usually of the same
size as the source image, unless 'bestfit' is set to TRUE
.
If 'bestfit' is enabled, and distortion allows it, the destination image is adjusted to ensure the whole source 'image' will just fit within the final destination image, which will be sized and offset accordingly. Also in many cases the virtual offset of the source image will be taken into account in the mapping.
This method is available if Imagick has been compiled against ImageMagick version 6.3.6 or newer.
Parameters
-
method
-
The method of image distortion. See distortion constants
-
arguments
-
The arguments for this distortion method
-
bestfit
-
Attempt to resize destination to fit distorted source
Return Values
Returns TRUE
on success.
Errors/Exceptions
Throws ImagickException on error.
Examples
Example #1 Using Imagick::distortImage():
Distort an image and display to the browser.
<?php
/* Create new object */
$im = new Imagick();
/* Create new checkerboard pattern */
$im->newPseudoImage(100, 100, "pattern:checkerboard");
/* Set the image format to png */
$im->setImageFormat('png');
/* Fill new visible areas with transparent */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
/* Activate matte */
$im->setImageMatte(true);
/* Control points for the distortion */
$controlPoints = array( 10, 10,
10, 5,
10, $im->getImageHeight() - 20,
10, $im->getImageHeight() - 5,
$im->getImageWidth() - 10, 10,
$im->getImageWidth() - 10, 20,
$im->getImageWidth() - 10, $im->getImageHeight() - 10,
$im->getImageWidth() - 10, $im->getImageHeight() - 30);
/* Perform the distortion */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);
/* Ouput the image */
header("Content-Type: image/png");
echo $im;
?>
The above example will output something similar to:
See Also
- Imagick::blurImage() - Adds blur filter to image
- Imagick::motionBlurImage() - Simulates motion blur
- Imagick::radialBlurImage() - Radial blurs an image
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Обработка и генерация изображений
- Обработка изображений (ImageMagick)
- Функция Imagick::adaptiveBlurImage() - Добавляет адаптивный фильтр размытия к изображению
- Функция Imagick::adaptiveResizeImage() - Адаптивное изменение размера изображения с данными триангуляции
- Функция Imagick::adaptiveSharpenImage() - Адаптивное изменение резкости изображения
- Функция Imagick::adaptiveThresholdImage() - Выбор порога для каждого пикселя в зависимости от диапазона интенсивности
- Функция Imagick::addImage() - Добавляет новое изображение к списку изображений объекта Imagick
- Функция Imagick::addNoiseImage() - Накладывает случайный шум на изображение
- Функция Imagick::affineTransformImage() - Преобразование изображения
- Функция Imagick::animateImages() - Анимация одного или нескольких изображений
- Функция Imagick::annotateImage() - Добавляет текстовый комментарий на изображение
- Функция Imagick::appendImages() - Объединяет набор изображений
- Imagick::autoLevelImage
- Функция Imagick::averageImages() - Усредняет набор изображений
- Функция Imagick::blackThresholdImage() - Перевести все пиксели ниже порогового значения в черный цвет
- Imagick::blueShiftImage
- Функция Imagick::blurImage() - Добавляет фильтр размытия к изображению
- Функция Imagick::borderImage() - Окружает изображение рамкой
- Imagick::brightnessContrastImage
- Функция Imagick::charcoalImage() - Рисование углем
- Функция Imagick::chopImage() - Удаляет область изображения и обрезает его
- Imagick::clampImage
- Функция Imagick::clear() - Очищает все ресурсы, связанные с объектом Imagick
- Функция Imagick::clipImage() - Обрезка вдоль ближайшего контура с профилем 8BIM
- Imagick::clipImagePath
- Функция Imagick::clipPathImage() - Отсечь вдоль обозначенного контура с профилем 8BIM
- Функция Imagick::clone() - Создает точную копию объекта Imagick
- Функция Imagick::clutImage() - Заменяет цвета в изображении
- Функция Imagick::coalesceImages() - Composites a set of images
- Функция Imagick::colorFloodfillImage() - Changes the color value of any pixel that matches target
- Функция Imagick::colorizeImage() - Смешивание цвета заливки с изображением
- Imagick::colorMatrixImage
- Функция Imagick::combineImages() - Combines one or more images into a single image
- Функция Imagick::commentImage() - Adds a comment to your image
- Функция Imagick::compareImageChannels() - Returns the difference in one or more images
- Функция Imagick::compareImageLayers() - Returns the maximum bounding region between images
- Функция Imagick::compareImages() - Compares an image to a reconstructed image
- Функция Imagick::compositeImage() - Composite one image onto another
- Функция Imagick::__construct() - Конструктор объекта Imagick
- Функция Imagick::contrastImage() - Change the contrast of the image
- Функция Imagick::contrastStretchImage() - Enhances the contrast of a color image
- Функция Imagick::convolveImage() - Applies a custom convolution kernel to the image
- Imagick::count
- Функция Imagick::cropImage() - Извлекает область изображения
- Функция Imagick::cropThumbnailImage() - Creates a crop thumbnail
- Функция Imagick::current() - Возвращает ссылку на текущий объект Imagick
- Функция Imagick::cycleColormapImage() - Displaces an image's colormap
- Функция Imagick::decipherImage() - Deciphers an image
- Функция Imagick::deconstructImages() - Returns certain pixel differences between images
- Функция Imagick::deleteImageArtifact() - Delete image artifact
- Imagick::deleteImageProperty
- Функция Imagick::deskewImage() - Removes skew from the image
- Функция Imagick::despeckleImage() - Reduces the speckle noise in an image
- Функция Imagick::destroy() - Удаляет объект Imagick
- Функция Imagick::displayImage() - Выводит изображение
- Функция Imagick::displayImages() - Выводит изображение или последовательность изображений
- Функция Imagick::distortImage() - Distorts an image using various distortion methods
- Функция Imagick::drawImage() - Выполняет рендеринг объекта ImagickDraw на текущем изображении
- Функция Imagick::edgeImage() - Enhance edges within the image
- Функция Imagick::embossImage() - Returns a grayscale image with a three-dimensional effect
- Функция Imagick::encipherImage() - Enciphers an image
- Функция Imagick::enhanceImage() - Improves the quality of a noisy image
- Функция Imagick::equalizeImage() - Equalizes the image histogram
- Функция Imagick::evaluateImage() - Applies an expression to an image
- Функция Imagick::exportImagePixels() - Exports raw image pixels
- Функция Imagick::extentImage() - Set image size
- Imagick::filter
- Функция Imagick::flattenImages() - Merges a sequence of images
- Функция Imagick::flipImage() - Создает вертикальное зеркало изображения
- Функция Imagick::floodFillPaintImage() - Changes the color value of any pixel that matches target
- Функция Imagick::flopImage() - Создает горизонтальное зеркало изображения
- Imagick::forwardFourierTransformImage
- Функция Imagick::frameImage() - Adds a simulated three-dimensional border
- Функция Imagick::functionImage() - Applies a function on the image
- Функция Imagick::fxImage() - Evaluate expression for each pixel in the image
- Функция Imagick::gammaImage() - Gamma-corrects an image
- Функция Imagick::gaussianBlurImage() - Blurs an image
- Функция Imagick::getColorspace() - Возвращает цветовую палитру
- Функция Imagick::getCompression() - Возвращает тип сжатия объекта
- Функция Imagick::getCompressionQuality() - Возвращает качество сжатия объекта
- Функция Imagick::getCopyright() - Возвращает копирайт API ImageMagick в виде строки
- Функция Imagick::getFilename() - Имя файла результирующего изображения
- Функция Imagick::getFont() - Возвращает название шрифта
- Функция Imagick::getFormat() - Возвращает формат Imagick объекта
- Функция Imagick::getGravity() - Возвращает значение гравитации (притяжения)
- Функция Imagick::getHomeURL() - Возвращает домашний URL библиотеки ImageMagick
- Функция Imagick::getImage() - Возвращает новый объект Imagick
- Функция Imagick::getImageAlphaChannel() - Возвращает альфа-канал изображения
- Функция Imagick::getImageArtifact() - Get image artifact
- Imagick::getImageAttribute
- Функция Imagick::getImageBackgroundColor() - Возвращает цвет фона изображения
- Функция Imagick::getImageBlob() - Returns the image sequence as a blob
- Функция Imagick::getImageBluePrimary() - Returns the chromaticy blue primary point
- Функция Imagick::getImageBorderColor() - Возвращает цвет рамки изображения
- Функция Imagick::getImageChannelDepth() - Gets the depth for a particular image channel
- Функция Imagick::getImageChannelDistortion() - Compares image channels of an image to a reconstructed image
- Функция Imagick::getImageChannelDistortions() - Gets channel distortions
- Функция Imagick::getImageChannelExtrema() - Gets the extrema for one or more image channels
- Функция Imagick::getImageChannelKurtosis() - The getImageChannelKurtosis purpose
- Функция Imagick::getImageChannelMean() - Gets the mean and standard deviation
- Функция Imagick::getImageChannelRange() - Gets channel range
- Функция Imagick::getImageChannelStatistics() - Returns statistics for each channel in the image
- Функция Imagick::getImageClipMask() - Gets image clip mask
- Функция Imagick::getImageColormapColor() - Returns the color of the specified colormap index
- Функция Imagick::getImageColors() - Возвращает число уникальных цветов в изображении
- Функция Imagick::getImageColorspace() - Возвращает цветовую палитру изображения
- Функция Imagick::getImageCompose() - Возвращает составной оператор, связанный с изображением
- Функция Imagick::getImageCompression() - Возвращает текущий тип компрессии изображения
- Функция Imagick::getImageCompressionQuality() - Возвращает текущее качество сжатия изображения
- Функция Imagick::getImageDelay() - Gets the image delay
- Функция Imagick::getImageDepth() - Gets the image depth
- Функция Imagick::getImageDispose() - Gets the image disposal method
- Функция Imagick::getImageDistortion() - Compares an image to a reconstructed image
- Функция Imagick::getImageExtrema() - Gets the extrema for the image
- Функция Imagick::getImageFilename() - Возвращает имя файла конкретного изображения в последовательности
- Функция Imagick::getImageFormat() - Возвращает формат конкретного изображения в последовательности
- Функция Imagick::getImageGamma() - Возвращает гамму изображения
- Функция Imagick::getImageGeometry() - Возвращает ширину и высоту в виде ассоциативного массива
- Функция Imagick::getImageGravity() - Возвращает значение гравитации (притяжения)
- Функция Imagick::getImageGreenPrimary() - Returns the chromaticy green primary point
- Функция Imagick::getImageHeight() - Возвращает высоту изображения
- Функция Imagick::getImageHistogram() - Gets the image histogram
- Функция Imagick::getImageIndex() - Gets the index of the current active image
- Функция Imagick::getImageInterlaceScheme() - Gets the image interlace scheme
- Функция Imagick::getImageInterpolateMethod() - Returns the interpolation method
- Функция Imagick::getImageIterations() - Gets the image iterations
- Функция Imagick::getImageLength() - Returns the image length in bytes
- Функция Imagick::getImageMagickLicense() - Returns a string containing the ImageMagick license
- Функция Imagick::getImageMatte() - Return if the image has a matte channel
- Функция Imagick::getImageMatteColor() - Returns the image matte color
- Imagick::getImageMimeType
- Функция Imagick::getImageOrientation() - Gets the image orientation
- Функция Imagick::getImagePage() - Returns the page geometry
- Функция Imagick::getImagePixelColor() - Returns the color of the specified pixel
- Функция Imagick::getImageProfile() - Returns the named image profile
- Функция Imagick::getImageProfiles() - Returns the image profiles
- Функция Imagick::getImageProperties() - Returns the image properties
- Функция Imagick::getImageProperty() - Returns the named image property
- Функция Imagick::getImageRedPrimary() - Returns the chromaticity red primary point
- Функция Imagick::getImageRegion() - Extracts a region of the image
- Функция Imagick::getImageRenderingIntent() - Gets the image rendering intent
- Функция Imagick::getImageResolution() - Gets the image X and Y resolution
- Функция Imagick::getImagesBlob() - Returns all image sequences as a blob
- Функция Imagick::getImageScene() - Gets the image scene
- Функция Imagick::getImageSignature() - Generates an SHA-256 message digest
- Функция Imagick::getImageSize() - Возвращает размер (длину) изображения в байтах
- Функция Imagick::getImageTicksPerSecond() - Gets the image ticks-per-second
- Функция Imagick::getImageTotalInkDensity() - Gets the image total ink density
- Функция Imagick::getImageType() - Возвращает возможный тип изображения
- Функция Imagick::getImageUnits() - Gets the image units of resolution
- Функция Imagick::getImageVirtualPixelMethod() - Returns the virtual pixel method
- Функция Imagick::getImageWhitePoint() - Returns the chromaticity white point
- Функция Imagick::getImageWidth() - Возвращает ширину изображения
- Функция Imagick::getInterlaceScheme() - Gets the object interlace scheme
- Функция Imagick::getIteratorIndex() - Gets the index of the current active image
- Функция Imagick::getNumberImages() - Returns the number of images in the object
- Функция Imagick::getOption() - Returns a value associated with the specified key
- Функция Imagick::getPackageName() - Returns the ImageMagick package name
- Функция Imagick::getPage() - Returns the page geometry
- Функция Imagick::getPixelIterator() - Returns a MagickPixelIterator
- Функция Imagick::getPixelRegionIterator() - Возвращает объект ImagickPixelIterator для секции изображения
- Функция Imagick::getPointSize() - Возвращает размер точки
- Imagick::getQuantum
- Функция Imagick::getQuantumDepth() - Возвращает величину глубины
- Функция Imagick::getQuantumRange() - Возвращает величину диапазона объекта Imagick
- Imagick::getRegistry
- Функция Imagick::getReleaseDate() - Возвращает дату релиза ImageMagick
- Функция Imagick::getResource() - Возвращает размер используемой памяти указанного ресурса
- Функция Imagick::getResourceLimit() - Возвращает заданный лимит ресурсов
- Функция Imagick::getSamplingFactors() - Возвращает горизонтальный и вертикальный фактор выборки
- Функция Imagick::getSize() - Возвращает размер, связанный с объектом Imagick
- Функция Imagick::getSizeOffset() - Возвращает размер смещения
- Функция Imagick::getVersion() - Возвращает версию API ImageMagick
- Функция Imagick::haldClutImage() - Replaces colors in the image
- Функция Imagick::hasNextImage() - Checks if the object has more images
- Функция Imagick::hasPreviousImage() - Checks if the object has a previous image
- Imagick::identifyFormat
- Функция Imagick::identifyImage() - Identifies an image and fetches attributes
- Функция Imagick::implodeImage() - Creates a new image as a copy
- Функция Imagick::importImagePixels() - Imports image pixels
- Imagick::inverseFourierTransformImage
- Функция Imagick::labelImage() - Adds a label to an image
- Функция Imagick::levelImage() - Adjusts the levels of an image
- Функция Imagick::linearStretchImage() - Stretches with saturation the image intensity
- Функция Imagick::liquidRescaleImage() - Animates an image or images
- Imagick::listRegistry
- Функция Imagick::magnifyImage() - Scales an image proportionally 2x
- Функция Imagick::mapImage() - Replaces the colors of an image with the closest color from a reference image.
- Функция Imagick::matteFloodfillImage() - Changes the transparency value of a color
- Функция Imagick::medianFilterImage() - Applies a digital filter
- Функция Imagick::mergeImageLayers() - Merges image layers
- Функция Imagick::minifyImage() - Scales an image proportionally to half its size
- Функция Imagick::modulateImage() - Control the brightness, saturation, and hue
- Функция Imagick::montageImage() - Creates a composite image
- Функция Imagick::morphImages() - Method morphs a set of images
- Imagick::morphology
- Функция Imagick::mosaicImages() - Forms a mosaic from images
- Функция Imagick::motionBlurImage() - Simulates motion blur
- Функция Imagick::negateImage() - Negates the colors in the reference image
- Функция Imagick::newImage() - Creates a new image
- Функция Imagick::newPseudoImage() - Creates a new image
- Функция Imagick::nextImage() - Moves to the next image
- Функция Imagick::normalizeImage() - Enhances the contrast of a color image
- Функция Imagick::oilPaintImage() - Simulates an oil painting
- Функция Imagick::opaquePaintImage() - Changes the color value of any pixel that matches target
- Функция Imagick::optimizeImageLayers() - Removes repeated portions of images to optimize
- Функция Imagick::orderedPosterizeImage() - Performs an ordered dither
- Функция Imagick::paintFloodfillImage() - Changes the color value of any pixel that matches target
- Функция Imagick::paintOpaqueImage() - Change any pixel that matches color
- Функция Imagick::paintTransparentImage() - Changes any pixel that matches color with the color defined by fill
- Функция Imagick::pingImage() - Fetch basic attributes about the image
- Функция Imagick::pingImageBlob() - Quickly fetch attributes
- Функция Imagick::pingImageFile() - Get basic image attributes in a lightweight manner
- Функция Imagick::polaroidImage() - Simulates a Polaroid picture
- Функция Imagick::posterizeImage() - Reduces the image to a limited number of color level
- Функция Imagick::previewImages() - Quickly pin-point appropriate parameters for image processing
- Функция Imagick::previousImage() - Move to the previous image in the object
- Функция Imagick::profileImage() - Adds or removes a profile from an image
- Функция Imagick::quantizeImage() - Analyzes the colors within a reference image
- Функция Imagick::quantizeImages() - Analyzes the colors within a sequence of images
- Функция Imagick::queryFontMetrics() - Returns an array representing the font metrics
- Функция Imagick::queryFonts() - Returns the configured fonts
- Функция Imagick::queryFormats() - Returns formats supported by Imagick
- Функция Imagick::radialBlurImage() - Radial blurs an image
- Функция Imagick::raiseImage() - Creates a simulated 3d button-like effect
- Функция Imagick::randomThresholdImage() - Creates a high-contrast, two-color image
- Функция Imagick::readImage() - Reads image from filename
- Функция Imagick::readImageBlob() - Reads image from a binary string
- Функция Imagick::readImageFile() - Reads image from open filehandle
- Imagick::readimages
- Функция Imagick::recolorImage() - Recolors image
- Функция Imagick::reduceNoiseImage() - Smooths the contours of an image
- Функция Imagick::remapImage() - Remaps image colors
- Функция Imagick::removeImage() - Removes an image from the image list
- Функция Imagick::removeImageProfile() - Removes the named image profile and returns it
- Функция Imagick::render() - Renders all preceding drawing commands
- Функция Imagick::resampleImage() - Resample image to desired resolution
- Функция Imagick::resetImagePage() - Reset image page
- Функция Imagick::resizeImage() - Scales an image
- Функция Imagick::rollImage() - Offsets an image
- Функция Imagick::rotateImage() - Rotates an image
- Imagick::rotationalBlurImage
- Функция Imagick::roundCorners() - Rounds image corners
- Функция Imagick::sampleImage() - Scales an image with pixel sampling
- Функция Imagick::scaleImage() - Scales the size of an image
- Функция Imagick::segmentImage() - Segments an image
- Imagick::selectiveBlurImage
- Функция Imagick::separateImageChannel() - Separates a channel from the image
- Функция Imagick::sepiaToneImage() - Sepia tones an image
- Функция Imagick::setBackgroundColor() - Sets the object's default background color
- Функция Imagick::setColorspace() - Set colorspace
- Функция Imagick::setCompression() - Sets the object's default compression type
- Функция Imagick::setCompressionQuality() - Sets the object's default compression quality
- Функция Imagick::setFilename() - Sets the filename before you read or write the image
- Функция Imagick::setFirstIterator() - Sets the Imagick iterator to the first image
- Функция Imagick::setFont() - Sets font
- Функция Imagick::setFormat() - Sets the format of the Imagick object
- Функция Imagick::setGravity() - Sets the gravity
- Функция Imagick::setImage() - Replaces image in the object
- Функция Imagick::setImageAlphaChannel() - Sets image alpha channel
- Функция Imagick::setImageArtifact() - Set image artifact
- Imagick::setImageAttribute
- Функция Imagick::setImageBackgroundColor() - Sets the image background color
- Функция Imagick::setImageBias() - Sets the image bias for any method that convolves an image
- Imagick::setImageBiasQuantum
- Функция Imagick::setImageBluePrimary() - Sets the image chromaticity blue primary point
- Функция Imagick::setImageBorderColor() - Sets the image border color
- Функция Imagick::setImageChannelDepth() - Sets the depth of a particular image channel
- Функция Imagick::setImageClipMask() - Sets image clip mask
- Функция Imagick::setImageColormapColor() - Sets the color of the specified colormap index
- Функция Imagick::setImageColorspace() - Sets the image colorspace
- Функция Imagick::setImageCompose() - Sets the image composite operator
- Функция Imagick::setImageCompression() - Sets the image compression
- Функция Imagick::setImageCompressionQuality() - Sets the image compression quality
- Функция Imagick::setImageDelay() - Sets the image delay
- Функция Imagick::setImageDepth() - Sets the image depth
- Функция Imagick::setImageDispose() - Sets the image disposal method
- Функция Imagick::setImageExtent() - Sets the image size
- Функция Imagick::setImageFilename() - Sets the filename of a particular image
- Функция Imagick::setImageFormat() - Sets the format of a particular image
- Функция Imagick::setImageGamma() - Sets the image gamma
- Функция Imagick::setImageGravity() - Sets the image gravity
- Функция Imagick::setImageGreenPrimary() - Sets the image chromaticity green primary point
- Функция Imagick::setImageIndex() - Set the iterator position
- Функция Imagick::setImageInterlaceScheme() - Sets the image compression
- Функция Imagick::setImageInterpolateMethod() - Sets the image interpolate pixel method
- Функция Imagick::setImageIterations() - Sets the image iterations
- Функция Imagick::setImageMatte() - Sets the image matte channel
- Функция Imagick::setImageMatteColor() - Sets the image matte color
- Функция Imagick::setImageOpacity() - Sets the image opacity level
- Функция Imagick::setImageOrientation() - Sets the image orientation
- Функция Imagick::setImagePage() - Sets the page geometry of the image
- Функция Imagick::setImageProfile() - Adds a named profile to the Imagick object
- Функция Imagick::setImageProperty() - Sets an image property
- Функция Imagick::setImageRedPrimary() - Sets the image chromaticity red primary point
- Функция Imagick::setImageRenderingIntent() - Sets the image rendering intent
- Функция Imagick::setImageResolution() - Sets the image resolution
- Функция Imagick::setImageScene() - Sets the image scene
- Функция Imagick::setImageTicksPerSecond() - Sets the image ticks-per-second
- Функция Imagick::setImageType() - Sets the image type
- Функция Imagick::setImageUnits() - Sets the image units of resolution
- Функция Imagick::setImageVirtualPixelMethod() - Sets the image virtual pixel method
- Функция Imagick::setImageWhitePoint() - Sets the image chromaticity white point
- Функция Imagick::setInterlaceScheme() - Sets the image compression
- Функция Imagick::setIteratorIndex() - Set the iterator position
- Функция Imagick::setLastIterator() - Sets the Imagick iterator to the last image
- Функция Imagick::setOption() - Set an option
- Функция Imagick::setPage() - Sets the page geometry of the Imagick object
- Функция Imagick::setPointSize() - Sets point size
- Imagick::setProgressMonitor
- Imagick::setRegistry
- Функция Imagick::setResolution() - Sets the image resolution
- Функция Imagick::setResourceLimit() - Sets the limit for a particular resource in megabytes
- Функция Imagick::setSamplingFactors() - Sets the image sampling factors
- Функция Imagick::setSize() - Sets the size of the Imagick object
- Функция Imagick::setSizeOffset() - Sets the size and offset of the Imagick object
- Функция Imagick::setType() - Sets the image type attribute
- Функция Imagick::shadeImage() - Creates a 3D effect
- Функция Imagick::shadowImage() - Simulates an image shadow
- Функция Imagick::sharpenImage() - Sharpens an image
- Функция Imagick::shaveImage() - Shaves pixels from the image edges
- Функция Imagick::shearImage() - Creating a parallelogram
- Функция Imagick::sigmoidalContrastImage() - Adjusts the contrast of an image
- Функция Imagick::sketchImage() - Simulates a pencil sketch
- Imagick::smushImages
- Функция Imagick::solarizeImage() - Applies a solarizing effect to the image
- Функция Imagick::sparseColorImage() - Interpolates colors
- Функция Imagick::spliceImage() - Splices a solid color into the image
- Функция Imagick::spreadImage() - Randomly displaces each pixel in a block
- Imagick::statisticImage
- Функция Imagick::steganoImage() - Hides a digital watermark within the image
- Функция Imagick::stereoImage() - Composites two images
- Функция Imagick::stripImage() - Strips an image of all profiles and comments
- Imagick::subImageMatch
- Функция Imagick::swirlImage() - Swirls the pixels about the center of the image
- Функция Imagick::textureImage() - Repeatedly tiles the texture image
- Функция Imagick::thresholdImage() - Изменяет отдельные пиксели на основе порогового значения
- Функция Imagick::thumbnailImage() - Changes the size of an image
- Функция Imagick::tintImage() - Applies a color vector to each pixel in the image
- Imagick::__toString
- Функция Imagick::transformImage() - Convenience method for setting crop size and the image geometry
- Imagick::transformImageColorspace
- Функция Imagick::transparentPaintImage() - Paints pixels transparent
- Функция Imagick::transposeImage() - Creates a vertical mirror image
- Функция Imagick::transverseImage() - Creates a horizontal mirror image
- Функция Imagick::trimImage() - Remove edges from the image
- Функция Imagick::uniqueImageColors() - Discards all but one of any pixel color
- Функция Imagick::unsharpMaskImage() - Sharpens an image
- Функция Imagick::valid() - Checks if the current item is valid
- Функция Imagick::vignetteImage() - Adds vignette filter to the image
- Функция Imagick::waveImage() - Applies wave filter to the image
- Функция Imagick::whiteThresholdImage() - Force all pixels above the threshold into white
- Функция Imagick::writeImage() - Writes an image to the specified filename
- Функция Imagick::writeImageFile() - Writes an image to a filehandle
- Функция Imagick::writeImages() - Writes an image or image sequence
- Функция Imagick::writeImagesFile() - Writes frames to a filehandle
Коментарии
Slide image with shadow using distortImage
<?php
$slideValue = 150;
// Create new object
$im = new Imagick("grnhrs.jpg");
// Resize
$im->thumbnailImage(500,400);
// Set the image format to png
$im->setImageFormat('png');
//Clone the current object
$shadow = $im->clone();
//Set image background color to black (this is the color of the shadow)
$shadow->setImageBackgroundColor( new ImagickPixel( 'black' ) );
//Create the shadow
$shadow->shadowImage( 80, 10, 5, 5 );
// Fill background area with transparent for image
//VIRTUALPIXELMETHOD_TRANSPARENT
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_ TRANSPARENT);
// Activate matte
$im->setImageMatte(true);
//Control points for the distortion
$controlPoints = array( 0, 0,
$slideValue, 0,
0, $im->getImageHeight(),
0, $im->getImageHeight(),
$im->getImageWidth(), 0,
$im->getImageWidth(), 0,
$im->getImageWidth(), $im->getImageHeight(),
$im->getImageWidth()-$slideValue, $im->getImageHeight());
// Perform the distortion
$im->distortImage(Imagick::DISTORTION_PERSPECTIVEPROJECTION, $controlPoints, true);
// Perform the distortion in shadow image
$shadow->distortImage(Imagick::DISTORTION_PERSPECTIVEPROJECTION, $controlPoints, true);
// Imagick::shadowImage only creates the shadow.
// That is why the original image is composited over it
$shadow->compositeImage( $im, Imagick::COMPOSITE_OVER, 0, 0 );
/* Ouput the image */
header("Content-Type: image/png");
echo $shadow;
?>
Affine
<?php
$image = new imagick( "opossum.jpg" );
$points = array(
0,0, 25,25,
100,0, 100,50
);
$image->setimagebackgroundcolor("#fad888");
$image->setImageVirtualPixelMethod( imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$image->distortImage( Imagick::DISTORTION_AFFINE, $points, TRUE );
header( "Content-Type: image/jpeg" );
echo $image;
?>
Affine Projection
<?php
$image = new imagick( "opossum.jpg" );
$points = array( 0.9,0.3,
-0.2,0.7,
20,15 );
$image->setimagebackgroundcolor("#fad888");
$image->setImageVirtualPixelMethod( imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$image->distortImage( Imagick::DISTORTION_AFFINEPROJECTION, $points, TRUE );
header( "Content-Type: image/jpeg" );
echo $image;
?>
Arc
<?php
$image = new imagick( "opossum.jpg" );
$draw = new imagickdraw();
$degrees = array( 180 );
$image->setimagebackgroundcolor("#fad888");
$image->setImageVirtualPixelMethod( imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$image->distortImage( Imagick::DISTORTION_ARC, $degrees, TRUE );
header( "Content-Type: image/jpeg" );
echo $image;
?>
Rotated Arc
<?php
$image = new imagick( "opossum.jpg" );
$draw = new imagickdraw();
$degrees = array( 180, 45, 100, 20 );
$image->setimagebackgroundcolor("#fad888");
$image->setImageVirtualPixelMethod( imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$image->distortImage( Imagick::DISTORTION_ARC, $degrees, TRUE );
header( "Content-Type: image/jpeg" );
echo $image;
?>
Bilinear
<?php
$image = new imagick( "opossum.jpg" );
$points = array(
0,0, 25,25, # top left
176,0, 126,0, # top right
0,135, 0,105, # bottom right
176,135, 176,135 # bottum left
);
$image->setimagebackgroundcolor("#fad888");
$image->setImageVirtualPixelMethod( imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$image->distortImage( Imagick::DISTORTION_BILINEAR, $points, TRUE );
header( "Content-Type: image/jpeg" );
echo $image;
?>
Perspective
<?php
$image = new imagick( "opossum.jpg" );
$points = array(
0,0, 25,25, # top left
176,0, 126,0, # top right
0,135, 0,105, # bottom right
176,135, 176,135 # bottum left
);
$image->setimagebackgroundcolor("#fad888");
$image->setImageVirtualPixelMethod( imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$image->distortImage( Imagick::DISTORTION_PERSPECTIVE, $points, TRUE );
header( "Content-Type: image/jpeg" );
echo $image;
?>
Scale Rotate Translate
<?php
$image = new imagick( "opossum.jpg" );
$points = array(
1.5, # scale 150%
150 # rotate
);
$image->setimagebackgroundcolor("#fad888");
$image->setImageVirtualPixelMethod( imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$image->distortImage( imagick::DISTORTION_SCALEROTATETRANSLATE, $points, TRUE );
header( "Content-Type: image/jpeg" );
echo $image;
?>
It is worth nothing that details on distorts as well as arguments can be found at http://www.imagemagick.org/Usage/distorts/ - the PHP manual doesn't give much, if any, detail on arguments.
I found this very useful when I had to do a translated rotation on an image - i.e. rotating around a point in the image that was not square in the center. This can be achieved by using distortImage with Imagick::DISTORTION_SCALEROTATETRANSLATE like this:
<?php
$imagick = new Imagick('/path/to/image');
$args = array(
20, # x point to rotate around
20, # y point to rotate around
1, # scaling factor - 1 means no scaling
90, # angle to rotate
);
$imagick->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$imagick->distortImage(Imagick::DISTORTION_SCALEROTATETRANSLATE, $args, true);
?>
Note that this type of distort takes from 1 to 7 arguments, depending on what you want to do exactly - there is a lot of flexibility here.
Control Points for DISTORTION_PERSPECTIVE are pairs of x0, y0, x1, y1 coordinates, where x0/y0 is the original point and x1/y1 is the destination point,
e.g. for a four point distortion:
<?php
$im = new imagick( $fn);
$w=$im->getImageWidth();
$h=$im->getImageHeight();
$im->setImageFormat('png');
$controlPoints = array(
$tLx, $tLy, 0, 0, // top left
$tRx, $tRy, $w, 0, // top right
$bRx, $bRy, $w, $h, // bottom right
$bLx, $bLy, 0, $h // bottom left
);
/* Perform the distortion */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, false);
// Output the image
$output = $im->getimageblob();
$outputtype = $im->getFormat();
header("Content-type: $outputtype");
echo $output;
?>