Added a few tests for coverage.

This commit is contained in:
Danack
2015-02-07 21:17:11 +00:00
parent 58362fbfb7
commit c75b7d5bb2
281 changed files with 8326 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Test Imagick module hasn't broken phpinfo
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
ob_start();
phpinfo();
$contents = ob_get_contents();
ob_end_clean();
if (strpos($contents, 'imagick module => enabled') !== false) {
echo "Ok";
}
else {
echo "Imagick was not reported as enabled?";
var_dump($contents);
}
?>
--EXPECTF--
Ok
@@ -0,0 +1,24 @@
--TEST--
Test Imagick, adaptiveResizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$width = 200;
$height = 200;
$bestFit = 1;
function adaptiveResizeImage($width, $height, $bestFit) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->adaptiveResizeImage($width, $height, $bestFit);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
adaptiveResizeImage($width, $height, $bestFit) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,24 @@
--TEST--
Test Imagick, adaptiveSharpenImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 5;
$sigma = 1;
$channel = Imagick::CHANNEL_DEFAULT;
function adaptiveSharpenImage($radius, $sigma, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->adaptiveSharpenImage($radius, $sigma, $channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
adaptiveSharpenImage($radius, $sigma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,24 @@
--TEST--
Test Imagick, adaptiveBlurImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 5;
$sigma = 1;
$channel = Imagick::CHANNEL_DEFAULT;
function adaptiveBlurImage($radius, $sigma, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->adaptiveBlurImage($radius, $sigma, $channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
adaptiveBlurImage($radius, $sigma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, adaptiveThresholdImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$width = 50;
$height = 20;
$adaptiveOffset = 0.125;
function adaptiveThresholdImage($width, $height, $adaptiveOffset) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$adaptiveOffsetQuantum = intval($adaptiveOffset * \Imagick::getQuantum());
$imagick->adaptiveThresholdImage($width, $height, $adaptiveOffsetQuantum);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
adaptiveThresholdImage($width, $height, $adaptiveOffset) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,34 @@
--TEST--
Test Imagick, affineTransformImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function affineTransformImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$draw = new \ImagickDraw();
$angle = 40 ;
$affineRotate = array(
"sx" => cos($angle), "sy" => cos($angle),
"rx" => sin($angle), "ry" => -sin($angle),
"tx" => 0, "ty" => 0,
);
$draw->affine($affineRotate);
$imagick->affineTransformImage($draw);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
affineTransformImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,23 @@
--TEST--
Test Imagick, addNoiseImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$noiseType = 2;
$channel = Imagick::CHANNEL_DEFAULT;
function addNoiseImage($noiseType, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->addNoiseImage($noiseType, $channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
addNoiseImage($noiseType, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,21 @@
--TEST--
Test Imagick, autoLevelImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function autoLevelImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->autoLevelImage();
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
autoLevelImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,34 @@
--TEST--
Test Imagick, annotateImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$strokeColor = 'rgb(0, 0, 0)';
$fillColor = 'rgb(232, 227, 232)';
function annotateImage($strokeColor, $fillColor) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(1);
$draw->setFontSize(36);
$text = "Imagick is a native php \nextension to create and \nmodify images using the\nImageMagick API.";
$imagick->annotateimage($draw, 40, 40, 0, $text);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
annotateImage($strokeColor, $fillColor) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, blackThresholdImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$thresholdColor = 'rgb(127, 127, 127)';
function blackThresholdImage($thresholdColor) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->blackthresholdimage($thresholdColor);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
blackThresholdImage($thresholdColor) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, blueShiftImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$blueShift = 1.5;
function blueShiftImage($blueShift) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->blueShiftImage($blueShift);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
blueShiftImage($blueShift) ;
echo "Ok";
?>
--EXPECTF--
Ok
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Test Imagick, blurImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 5;
$sigma = 1;
$channel = Imagick::CHANNEL_DEFAULT;
function blurImage($radius, $sigma, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->blurImage($radius, $sigma, $channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
blurImage($radius, $sigma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,24 @@
--TEST--
Test Imagick, brightnessContrastImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$brightness = -20;
$contrast = -20;
$channel = Imagick::CHANNEL_DEFAULT;
function brightnessContrastImage($brightness, $contrast, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->brightnessContrastImage($brightness, $contrast, $channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
brightnessContrastImage($brightness, $contrast, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Test Imagick, borderImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$width = 50;
$height = 20;
$color = 'rgb(127, 127, 127)';
function borderImage($color, $width, $height) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->borderImage($color, $width, $height);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
borderImage($color, $width, $height) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,23 @@
--TEST--
Test Imagick, charcoalImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 5;
$sigma = 1;
function charcoalImage($radius, $sigma) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->charcoalImage($radius, $sigma);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
charcoalImage($radius, $sigma) ;
echo "Ok";
?>
--EXPECTF--
Ok
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, chopImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$startX = 50;
$startY = 50;
$width = 100;
$height = 50;
function chopImage($startX, $startY, $width, $height) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->chopImage($width, $height, $startX, $startY);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
chopImage($startX, $startY, $width, $height) ;
echo "Ok";
?>
--EXPECTF--
Ok
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, clutImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function clutImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
//$imagick->quantizeImage(16, \Imagick::COLORSPACE_YIQ, 8, true, false);
$clutImagick = new \Imagick();
$clutImagick->newPseudoImage(640, 480, "magick:NETSCAPE");
$imagick->clutImage($clutImagick);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
clutImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, colorizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$color = 'rgb(127, 127, 127)';
$opacity = 100;
function colorizeImage($color, $opacity) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$opacity = $opacity / 255.0;
$opacityColor = new \ImagickPixel("rgba(0, 0, 0, $opacity)");
$imagick->colorizeImage($color, $opacityColor);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
colorizeImage($color, $opacity) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,69 @@
--TEST--
Test Imagick, colorMatrixImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$colorMatrix = array (
0 => 1.5,
1 => 0,
2 => 0,
3 => 0,
4 => -0.157,
5 => 0,
6 => 1,
7 => 0.5,
8 => 0,
9 => -0.157,
10 => 0,
11 => 0,
12 => 0.5,
13 => 0,
14 => 0.5,
15 => 0,
16 => 0,
17 => 0,
18 => 1,
19 => 0,
20 => 0,
21 => 0,
22 => 0,
23 => 0,
24 => 1,
);
function colorMatrixImage($colorMatrix) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->setImageOpacity(1);
//A color matrix should look like:
// $colorMatrix = [
// 1.5, 0.0, 0.0, 0.0, 0.0, -0.157,
// 0.0, 1.0, 0.5, 0.0, 0.0, -0.157,
// 0.0, 0.0, 1.5, 0.0, 0.0, -0.157,
// 0.0, 0.0, 0.0, 1.0, 0.0, 0.0,
// 0.0, 0.0, 0.0, 0.0, 1.0, 0.0,
// 0.0, 0.0, 0.0, 0.0, 0.0, 1.0
// ];
$background = new \Imagick();
$background->newPseudoImage($imagick->getImageWidth(), $imagick->getImageHeight(), "pattern:checkerboard");
$background->setImageFormat('png');
$imagick->setImageFormat('png');
$imagick->colorMatrixImage($colorMatrix);
$background->compositeImage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0);
$bytes = $background->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
colorMatrixImage($colorMatrix) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,46 @@
--TEST--
Test Imagick, compositeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function compositeImage() {
$img1 = new \Imagick();
$img1->newPseudoImage(640, 480, "magick:logo");
$img2 = new \Imagick();
$img2->newPseudoImage(640, 480, "magick:logo");
$img2->negateImage(false);
$img2->blurimage(10, 5);
$img1->resizeimage(
$img2->getImageWidth(),
$img2->getImageHeight(),
\Imagick::FILTER_LANCZOS,
1
);
$opacity = new \Imagick();
$opacity->newPseudoImage(
$img1->getImageHeight(),
$img1->getImageWidth(),
"gradient:gray(10%)-gray(90%)"
);
$opacity->rotateimage('black', 90);
$img2->compositeImage($opacity, \Imagick::COMPOSITE_COPYOPACITY, 0, 0);
$img1->compositeImage($img2, \Imagick::COMPOSITE_ATOP, 0, 0);
$bytes = $img1->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
compositeImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, contrastImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$contrastType = 1;
function contrastImage($contrastType) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
if ($contrastType != 2) {
$imagick->contrastImage($contrastType);
}
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
contrastImage($contrastType) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,37 @@
--TEST--
Test Imagick, convolveImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$bias = 0.5;
$kernelMatrix = array (
0 => -1,
1 => -1,
2 => -1,
3 => -1,
4 => 8,
5 => -1,
6 => -1,
7 => -1,
8 => -1,
);
function convolveImage($bias, $kernelMatrix) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
//$edgeFindingKernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1,];
$imagick->setImageBias($bias * \Imagick::getQuantum());
$imagick->convolveImage($kernelMatrix);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
convolveImage($bias, $kernelMatrix) ;
echo "Ok";
?>
--EXPECTF--
Ok
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, cropImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$startX = 50;
$startY = 50;
$width = 50;
$height = 50;
function cropImage($startX, $startY, $width, $height) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->cropImage($width, $height, $startX, $startY);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
cropImage($startX, $startY, $width, $height) ;
echo "Ok";
?>
--EXPECTF--
Ok
+39
View File
@@ -0,0 +1,39 @@
--TEST--
Test Imagick, deskewImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$threshold = 0.5;
function deskewImage($threshold) {
$imagick = $imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$deskewImagick = clone $imagick;
//This is the only thing required for deskewing.
$deskewImagick->deskewImage($threshold);
//The rest of this example is to make the result obvious - because
//otherwise the result is not obvious.
$trim = 9;
$deskewImagick->cropImage($deskewImagick->getImageWidth() - $trim, $deskewImagick->getImageHeight(), $trim, 0);
$imagick->cropImage($imagick->getImageWidth() - $trim, $imagick->getImageHeight(), $trim, 0);
$deskewImagick->resizeimage($deskewImagick->getImageWidth() / 2, $deskewImagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);
$imagick->resizeimage($imagick->getImageWidth() / 2, $imagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);
$newCanvas = new \Imagick();
$newCanvas->newimage($imagick->getImageWidth() + $deskewImagick->getImageWidth() + 20, $imagick->getImageHeight(), 'red', 'jpg');
$newCanvas->compositeimage($imagick, \Imagick::COMPOSITE_COPY, 5, 0);
$newCanvas->compositeimage($deskewImagick, \Imagick::COMPOSITE_COPY, $imagick->getImageWidth() + 10, 0);
$bytes = $newCanvas->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
deskewImage($threshold) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,29 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
0, 0,
25, 25,
100, 0,
100, 50
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$imagick->distortImage( \Imagick::DISTORTION_AFFINE, $points, TRUE );
header( "Content-Type: image/jpeg" );
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,27 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
0.9,0.3,
-0.2,0.7,
20,15
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$imagick->distortImage( \Imagick::DISTORTION_AFFINEPROJECTION, $points, TRUE );
header( "Content-Type: image/jpeg" );
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
+29
View File
@@ -0,0 +1,29 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
//Make some text arc around the center of it's image
// convert logo: -resize x150 -gravity NorthEast -crop 100x100+10+0! \
// \( -background none label:'IM Examples' \
// -virtual-pixel Background +distort Arc '270 50 20' \
// -repage +75+21\! \) -flatten arc_overlay.jpg
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$degrees = array( 180 );
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$imagick->distortImage( \Imagick::DISTORTION_ARC, $degrees, TRUE );
header( "Content-Type: image/jpeg" );
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,23 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$degrees = array( 180, 45, 100, 20 );
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$imagick->distortImage( \Imagick::DISTORTION_ARC, $degrees, TRUE );
header( "Content-Type: image/jpeg" );
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,28 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$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
);
$imagick->setImageBackgroundColor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$imagick->distortImage( \Imagick::DISTORTION_BILINEAR, $points, TRUE );
header( "Content-Type: image/jpeg" );
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
1.5, # scale 150%
150 # rotate
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND );
$imagick->distortImage( \Imagick::DISTORTION_SCALEROTATETRANSLATE, $points, TRUE );
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,46 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
//$imagick = new \Imagick(realpath($this->rsiControl->getImagePath()));
$imagick = new \Imagick();
/* Create new checkerboard pattern */
$imagick->newPseudoImage(100, 100, "pattern:checkerboard");
/* Set the image format to png */
$imagick->setImageFormat('png');
/* Fill new visible areas with transparent */
$imagick->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
/* Activate matte */
$imagick->setImageMatte(true);
/* Control points for the distortion */
$controlPoints = array( 10, 10,
10, 5,
10, $imagick->getImageHeight() - 20,
10, $imagick->getImageHeight() - 5,
$imagick->getImageWidth() - 10, 10,
$imagick->getImageWidth() - 10, 20,
$imagick->getImageWidth() - 10, $imagick->getImageHeight() - 10,
$imagick->getImageWidth() - 10, $imagick->getImageHeight() - 30);
/* Perform the distortion */
$imagick->distortImage(\Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,33 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
//X-of-destination = (sx*xs + ry+ys +tx) / (px*xs + py*ys +1)
//Y-of-destination = (rx*xs + sy+ys +ty) / (px*xs + py*ys +1)
// sx ry tx
// rx sy ty
// px py
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
1.945622, 0.071451,
-12.187838, 0.799032,
1.276214, -24.470275, 0.006258, 0.000715
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND);
$imagick->distortImage(\Imagick::DISTORTION_PERSPECTIVEPROJECTION, $points, TRUE);
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,37 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
// Order X1,Y1 I1,J1 X2,Y2 I2,J2 X3,Y3 I3,J3 X4,Y4 I4,J4 . . . .
// The 'Order' argument is usually an integer from '1' onward, though a special value
// of '1.5' can also be used. This defines the 'order' or complexity of the 2-dimensional
// mathematical equation (using both 'x' and 'y') , that will be applied.
// For example an order '1' polynomial will fit a equation of the form...
// Xd = C2x*Xs + C1x*Ys + C0x , Yd = C2y*Xs + C1y*Ys + C0y
// See also http://www.imagemagick.org/Usage/distorts/#polynomial
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
1.5, //Order 1.5 = special
0, 0, 26, 0,
128,0, 114,23,
128,128, 128,100,
0,128, 0,123
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND);
$imagick->distortImage(\Imagick::DISTORTION_POLYNOMIAL, $points, TRUE);
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
+34
View File
@@ -0,0 +1,34 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
//v6.4.2-6
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
0
);
//Only do partial arc
// $points = array(
// 60,20, 0,0, -60,60
// );
// HorizontalTile
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_HORIZONTALTILE);
$imagick->distortImage(\Imagick::DISTORTION_POLAR, $points, TRUE);
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
//v6.4.2-6
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
0
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_BACKGROUND);
$imagick->distortImage(\Imagick::DISTORTION_DEPOLAR, $points, TRUE);
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,37 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
// The arguments needed for the 'Barrel' distort method. Generally you supply
// 3 or 4 values only...
// A B C [ D [ X , Y ] ]
// The optional X,Y arguments provide an optional 'center' for the radial distortion,
// otherwise it defaults to the exact center of the image given (regardless of its virtual offset).
// The coefficients are designed so that if all four A to D values, add up to '1.0', the minimal
// width/height of the image will not change. For this reason if D (which controls the overall
// scaling of the image) is not supplied it will be set so all four values do add up to '1.0'.
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
//0.2, 0.0, 0.0, 1.0
0.4, 0.6, 0.0, 1.0
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_EDGE);
$imagick->distortImage(\Imagick::DISTORTION_BARREL, $points, TRUE);
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,31 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
// Rsrc = r / ( A*r3 + B*r2 + C*r + D )
// This equation does NOT produce the 'reverse' the 'Barrel' distortion.
// You can NOT use it to 'undo' the previous distortion.
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
//0.2, 0.0, 0.0, 1.0
0.2, 0.1, 0.0, 1.0
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_EDGE);
$imagick->distortImage(\Imagick::DISTORTION_BARRELINVERSE, $points, TRUE);
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,46 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
//The control points move points in the image in a taffy like motion
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
//Setup some control points that don't move
5 * $imagick->getImageWidth() / 100, 5 * $imagick->getImageHeight() / 100,
5 * $imagick->getImageWidth() / 100, 5 * $imagick->getImageHeight() / 100,
5 * $imagick->getImageWidth() / 100, 95 * $imagick->getImageHeight() / 100,
5 * $imagick->getImageWidth() / 100, 95 * $imagick->getImageHeight() / 100,
95 * $imagick->getImageWidth() / 100, 95 * $imagick->getImageHeight() / 100,
95 * $imagick->getImageWidth() / 100, 95 * $imagick->getImageHeight() / 100,
5 * $imagick->getImageWidth() / 100, 5 * $imagick->getImageHeight() / 100,
95 * $imagick->getImageWidth() / 100, 95 * $imagick->getImageHeight() / 100,
// //Move the centre of the image down and to the right
// 50 * $imagick->getImageWidth() / 100, 50 * $imagick->getImageHeight() / 100,
// 60 * $imagick->getImageWidth() / 100, 60 * $imagick->getImageHeight() / 100,
//
// //Move a point near the top-right of the image down and to the left and down
// 90 * $imagick->getImageWidth(), 10 * $imagick->getImageHeight(),
// 80 * $imagick->getImageWidth(), 15 * $imagick->getImageHeight(),
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_EDGE);
$imagick->distortImage(\Imagick::DISTORTION_SHEPARDS, $points, TRUE);
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,8 @@
001+ unknown method given: No such file or directory
001- Ok
002+
003+ Fatal error: Uncaught exception 'ImagickException' with message 'memory allocation failed GenerateCoefficients @ error/distort.c/GenerateCoefficients/497' in /home/github/mkoppanen-imagick/tests/064_Imagick_distortImage_Sentinel.php:19
004+ Stack trace:
005+ #0 /home/github/mkoppanen-imagick/tests/064_Imagick_distortImage_Sentinel.php(19): Imagick->distortimage(18, Array, true)
006+ #1 {main}
007+ thrown in /home/github/mkoppanen-imagick/tests/064_Imagick_distortImage_Sentinel.php on line 19
@@ -0,0 +1 @@
Ok
@@ -0,0 +1,12 @@
---- EXPECTED OUTPUT
Ok
---- ACTUAL OUTPUT
unknown method given: No such file or directory
Fatal error: Uncaught exception 'ImagickException' with message 'memory allocation failed GenerateCoefficients @ error/distort.c/GenerateCoefficients/497' in /home/github/mkoppanen-imagick/tests/064_Imagick_distortImage_Sentinel.php:19
Stack trace:
#0 /home/github/mkoppanen-imagick/tests/064_Imagick_distortImage_Sentinel.php(19): Imagick->distortimage(18, Array, true)
#1 {main}
thrown in /home/github/mkoppanen-imagick/tests/064_Imagick_distortImage_Sentinel.php on line 19
---- FAILED
@@ -0,0 +1,7 @@
unknown method given: No such file or directory
Fatal error: Uncaught exception 'ImagickException' with message 'memory allocation failed GenerateCoefficients @ error/distort.c/GenerateCoefficients/497' in /home/github/mkoppanen-imagick/tests/064_Imagick_distortImage_Sentinel.php:19
Stack trace:
#0 /home/github/mkoppanen-imagick/tests/064_Imagick_distortImage_Sentinel.php(19): Imagick->distortimage(18, Array, true)
#1 {main}
thrown in /home/github/mkoppanen-imagick/tests/064_Imagick_distortImage_Sentinel.php on line 19
@@ -0,0 +1,24 @@
<?php
$distortion = 1;
// Rsrc = r / ( A*r3 + B*r2 + C*r + D )
// This equation does NOT produce the 'reverse' the 'Barrel' distortion.
// You can NOT use it to 'undo' the previous distortion.
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
//0.2, 0.0, 0.0, 1.0
0.2, 0.1, 0.0, 1.0
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_EDGE);
$imagick->distortImage(\Imagick::DISTORTION_SENTINEL, $points, TRUE);
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
@@ -0,0 +1,31 @@
--TEST--
Test Imagick, distortImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$distortion = 1;
// Rsrc = r / ( A*r3 + B*r2 + C*r + D )
// This equation does NOT produce the 'reverse' the 'Barrel' distortion.
// You can NOT use it to 'undo' the previous distortion.
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$points = array(
//0.2, 0.0, 0.0, 1.0
0.2, 0.1, 0.0, 1.0
);
$imagick->setimagebackgroundcolor("#fad888");
$imagick->setImageVirtualPixelMethod( \Imagick::VIRTUALPIXELMETHOD_EDGE);
$imagick->distortImage(\Imagick::DISTORTION_SENTINEL, $points, TRUE);
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
echo "Ok";
?>
--EXPECTF--
Ok
+3
View File
@@ -0,0 +1,3 @@
#!/bin/sh
/usr/bin/php -n -c '/home/github/mkoppanen-imagick/tmp-php.ini' -d "output_handler=" -d "open_basedir=" -d "safe_mode=0" -d "disable_functions=" -d "output_buffering=Off" -d "error_reporting=32767" -d "display_errors=1" -d "display_startup_errors=1" -d "log_errors=0" -d "html_errors=0" -d "track_errors=1" -d "report_memleaks=1" -d "report_zend_debug=0" -d "docref_root=" -d "docref_ext=.html" -d "error_prepend_string=" -d "error_append_string=" -d "auto_prepend_file=" -d "auto_append_file=" -d "ignore_repeated_errors=0" -d "precision=14" -d "memory_limit=128M" -d "log_errors_max_len=0" -d "opcache.fast_shutdown=0" -d "opcache.file_update_protection=0" -d "extension_dir=/home/github/mkoppanen-imagick/modules/" -d "extension=imagick.so" -d "session.auto_start=0" -d "zlib.output_compression=Off" -d "mbstring.func_overload=0" -f "/home/github/mkoppanen-imagick/tests/064_Imagick_distortImage_Sentinel.php" 2>&1
@@ -0,0 +1,21 @@
--TEST--
Test Imagick, despeckleImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function despeckleImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->despeckleImage();
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
despeckleImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Test Imagick, embossImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 5;
$sigma = 1;
function embossImage($radius, $sigma) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->embossImage($radius, $sigma);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
embossImage($radius, $sigma) ;
echo "Ok";
?>
--EXPECTF--
Ok
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, edgeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 5;
function edgeImage($radius) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->edgeImage($radius);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
edgeImage($radius) ;
echo "Ok";
?>
--EXPECTF--
Ok
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Test Imagick, enhanceImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function enhanceImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->enhanceImage();
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
enhanceImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,21 @@
--TEST--
Test Imagick, equalizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function equalizeImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->equalizeImage();
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
equalizeImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,30 @@
--TEST--
Test Imagick, equalizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
//This appears to corrupt the image colors?
function extentImage($startX, $startY, $width, $height) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->equalizeImage();
$imagick->extentImage(
$startX, $startY, $width, $height
);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
$startX = 50;
$startY = 50;
$width = 150;
$height = 150;
extentImage($startX, $startY, $width, $height) ;
echo "Ok";
?>
--EXPECTF--
Ok
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Test Imagick, flipImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function flipImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->flipImage();
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
flipImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
+107
View File
@@ -0,0 +1,107 @@
--TEST--
Test Imagick, evaluateImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$evaluateType = 1;
$firstTerm = 0.5;
$gradientStartColor = 'black';
$gradientEndColor = 'white';
$evaluateTypes = [
\Imagick::EVALUATE_ADD,
\Imagick::EVALUATE_AND,
\Imagick::EVALUATE_MAX,
\Imagick::EVALUATE_MIN,
\Imagick::EVALUATE_OR,
\Imagick::EVALUATE_SET,
\Imagick::EVALUATE_SUBTRACT,
\Imagick::EVALUATE_XOR,
\Imagick::EVALUATE_THRESHOLD,
\Imagick::EVALUATE_THRESHOLDBLACK,
\Imagick::EVALUATE_THRESHOLDWHITE,
\Imagick::EVALUATE_ADDMODULUS,
\Imagick::EVALUATE_DIVIDE,
\Imagick::EVALUATE_MULTIPLY,
\Imagick::EVALUATE_RIGHTSHIFT,
\Imagick::EVALUATE_LEFTSHIFT,
\Imagick::EVALUATE_POW,
\Imagick::EVALUATE_LOG,
\Imagick::EVALUATE_GAUSSIANNOISE,
\Imagick::EVALUATE_IMPULSENOISE,
\Imagick::EVALUATE_LAPLACIANNOISE,
\Imagick::EVALUATE_MULTIPLICATIVENOISE,
\Imagick::EVALUATE_POISSONNOISE,
\Imagick::EVALUATE_UNIFORMNOISE,
\Imagick::EVALUATE_COSINE,
\Imagick::EVALUATE_SINE,
];
function evaluateImage($evaluateType, $firstTerm, $gradientStartColor, $gradientEndColor) {
$imagick = new \Imagick();
$size = 400;
$imagick->newPseudoImage(
$size,
$size,
"gradient:$gradientStartColor-$gradientEndColor"
);
$quantumScaledTypes = [
\Imagick::EVALUATE_ADD,
\Imagick::EVALUATE_AND,
\Imagick::EVALUATE_MAX,
\Imagick::EVALUATE_MIN,
\Imagick::EVALUATE_OR,
\Imagick::EVALUATE_SET,
\Imagick::EVALUATE_SUBTRACT,
\Imagick::EVALUATE_XOR,
\Imagick::EVALUATE_THRESHOLD,
\Imagick::EVALUATE_THRESHOLDBLACK,
\Imagick::EVALUATE_THRESHOLDWHITE,
\Imagick::EVALUATE_ADDMODULUS,
];
$unscaledTypes = [
\Imagick::EVALUATE_DIVIDE,
\Imagick::EVALUATE_MULTIPLY,
\Imagick::EVALUATE_RIGHTSHIFT,
\Imagick::EVALUATE_LEFTSHIFT,
\Imagick::EVALUATE_POW,
\Imagick::EVALUATE_LOG,
\Imagick::EVALUATE_GAUSSIANNOISE,
\Imagick::EVALUATE_IMPULSENOISE,
\Imagick::EVALUATE_LAPLACIANNOISE,
\Imagick::EVALUATE_MULTIPLICATIVENOISE,
\Imagick::EVALUATE_POISSONNOISE,
\Imagick::EVALUATE_UNIFORMNOISE,
\Imagick::EVALUATE_COSINE,
\Imagick::EVALUATE_SINE,
];
if (in_array($evaluateType, $unscaledTypes)) {
$imagick->evaluateimage($evaluateType, $firstTerm);
}
else if (in_array($evaluateType, $quantumScaledTypes)) {
$imagick->evaluateimage($evaluateType, $firstTerm * \Imagick::getQuantum());
}
else {
throw new \Exception("Evaluation type $evaluateType is not listed as either scaled or unscaled");
}
$imagick->setimageformat('png');
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
foreach ($evaluateTypes as $evaluateType) {
evaluateImage($evaluateType, $firstTerm, $gradientStartColor, $gradientEndColor) ;
}
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,67 @@
--TEST--
Test Imagick, forwardFourierTransformImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
//Utility function for forwardTransformImage
function createMask() {
$draw = new \ImagickDraw();
$draw->setStrokeOpacity(0);
$draw->setStrokeColor('rgb(255, 255, 255)');
$draw->setFillColor('rgb(255, 255, 255)');
//Draw a circle on the y-axis, with it's centre
//at x, y that touches the origin
$draw->circle(250, 250, 220, 250);
$imagick = new \Imagick();
$imagick->newImage(512, 512, "black");
$imagick->drawImage($draw);
$imagick->gaussianBlurImage(20, 20);
$imagick->autoLevelImage();
return $imagick;
}
function forwardFourierTransformImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->resizeimage(512, 512, \Imagick::FILTER_LANCZOS, 1);
$mask = createMask();
$imagick->forwardFourierTransformImage(true);
@$imagick->setimageindex(0);
$magnitude = $imagick->getimage();
@$imagick->setimageindex(1);
$imagickPhase = $imagick->getimage();
if (true) {
$imagickPhase->compositeImage($mask, \Imagick::COMPOSITE_MULTIPLY, 0, 0);
}
if (false) {
$output = clone $imagickPhase;
$output->setimageformat('png');
$bytes = $output->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
$magnitude->inverseFourierTransformImage($imagickPhase, true);
$magnitude->setimageformat('png');
$bytes = $magnitude->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
forwardFourierTransformImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Test Imagick, flopImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function flopImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->flopImage();
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
flopImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,36 @@
--TEST--
Test Imagick, floodFillPaintImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$fillColor = 'rgb(0, 0, 0)';
$fuzz = 0.2;
$targetColor = 'rgb(245, 124, 24)';
$x = 260;
$y = 150;
$inverse = 0;
$channel = Imagick::CHANNEL_DEFAULT;
function floodFillPaintImage($fillColor, $fuzz, $targetColor, $x, $y, $inverse, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->floodFillPaintImage(
$fillColor,
$fuzz * \Imagick::getQuantum(),
$targetColor,
$x, $y,
$inverse,
$channel
);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
floodFillPaintImage($fillColor, $fuzz, $targetColor, $x, $y, $inverse, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, fxImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function fxImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(200, 200, "xc:white");
$fx = 'xx=i-w/2; yy=j-h/2; rr=hypot(xx,yy); (.5-rr/140)*1.2+.5';
$fxImage = $imagick->fxImage($fx);
$fxImage->setimageformat('png');
$bytes = $fxImage->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
fxImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
+36
View File
@@ -0,0 +1,36 @@
--TEST--
Test Imagick, frameImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$color = 'rgb(127, 127, 127)';
$width = 5;
$height = 5;
$innerBevel = 3;
$outerBevel = 3;
function frameImage($color, $width, $height, $innerBevel, $outerBevel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$width = $width + $innerBevel + $outerBevel;
$height = $height + $innerBevel + $outerBevel;
$imagick->frameimage(
$color,
$width,
$height,
$innerBevel,
$outerBevel
);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
frameImage($color, $width, $height, $innerBevel, $outerBevel) ;
echo "Ok";
?>
--EXPECTF--
Ok
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Test Imagick, gammaImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$gamma = 2.2;
$channel = Imagick::CHANNEL_DEFAULT;
function gammaImage($gamma, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->gammaImage($gamma, $channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
gammaImage($gamma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,20 @@
--TEST--
Test Imagick, getImageGeometry
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function getImageGeometry() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
getImageGeometry() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,24 @@
--TEST--
Test Imagick, gaussianBlurImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 5;
$sigma = 1;
$channel = Imagick::CHANNEL_DEFAULT;
function gaussianBlurImage($radius, $sigma, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->gaussianBlurImage($radius, $sigma, $channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
gaussianBlurImage($radius, $sigma, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,100 @@
--TEST--
Test Imagick, getImageHistogram
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function getColorStatistics($histogramElements, $colorChannel) {
$colorStatistics = [];
foreach ($histogramElements as $histogramElement) {
//So broken. Wow. Much surprise. Sad. Bad. Sad, bad, sad.
//$color = $histogramElement->getColorValueQuantum($colorChannel);
$color = $histogramElement->getColorValue($colorChannel);
$color = intval($color * 255);
$count = $histogramElement->getColorCount();
if (array_key_exists($color, $colorStatistics)) {
$colorStatistics[$color] += $count;
}
else {
$colorStatistics[$color] = $count;
}
}
ksort($colorStatistics);
return $colorStatistics;
}
function getImageHistogram() {
$backgroundColor = 'black';
$draw = new \ImagickDraw();
$draw->setStrokeWidth(0); //Lines have a wi
$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);
$histogramWidth = 256;
$histogramHeight = 100; // the height for each RGB segment
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
//Resize the image to be small, otherwise PHP tends to run out of memory
//This might lead to bad results for images that are pathologically 'pixelly'
$imagick->adaptiveResizeImage(200, 200, true);
$histogramElements = $imagick->getImageHistogram();
$histogram = new \Imagick();
$histogram->newpseudoimage($histogramWidth, $histogramHeight * 3, 'xc:black');
$histogram->setImageFormat('png');
$getMax = function ($carry, $item) {
if ($item > $carry) {
return $item;
}
return $carry;
};
$colorValues = [
'red' => getColorStatistics($histogramElements, \Imagick::COLOR_RED),
'lime' => getColorStatistics($histogramElements, \Imagick::COLOR_GREEN),
'blue' => getColorStatistics($histogramElements, \Imagick::COLOR_BLUE),
];
$max = array_reduce($colorValues['red'] , $getMax, 0);
$max = array_reduce($colorValues['lime'] , $getMax, $max);
$max = array_reduce($colorValues['blue'] , $getMax, $max);
$scale = $histogramHeight / $max;
$count = 0;
foreach ($colorValues as $color => $values) {
$draw->setstrokecolor($color);
$offset = ($count + 1) * $histogramHeight;
foreach ($values as $index => $value) {
$draw->line($index, $offset, $index, $offset - ($value * $scale));
}
$count++;
}
$histogram->drawImage($draw);
$bytes = $histogram->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
getImageHistogram();
echo "Ok";
?>
--EXPECTF--
Ok
+3
View File
@@ -0,0 +1,3 @@
#!/bin/sh
/usr/bin/php -n -c '/home/github/mkoppanen-imagick/tmp-php.ini' -d "output_handler=" -d "open_basedir=" -d "safe_mode=0" -d "disable_functions=" -d "output_buffering=Off" -d "error_reporting=32767" -d "display_errors=1" -d "display_startup_errors=1" -d "log_errors=0" -d "html_errors=0" -d "track_errors=1" -d "report_memleaks=1" -d "report_zend_debug=0" -d "docref_root=" -d "docref_ext=.html" -d "error_prepend_string=" -d "error_append_string=" -d "auto_prepend_file=" -d "auto_append_file=" -d "ignore_repeated_errors=0" -d "precision=14" -d "memory_limit=128M" -d "log_errors_max_len=0" -d "opcache.fast_shutdown=0" -d "opcache.file_update_protection=0" -d "extension_dir=/home/github/mkoppanen-imagick/modules/" -d "extension=imagick.so" -d "session.auto_start=0" -d "zlib.output_compression=Off" -d "mbstring.func_overload=0" -f "/home/github/mkoppanen-imagick/tests/082_Imagick_getImageHistogram_basic.php" 2>&1
@@ -0,0 +1,33 @@
--TEST--
Test Imagick, getPixelIterator
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function getPixelIterator() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imageIterator = $imagick->getPixelIterator();
/** @noinspection PhpUnusedLocalVariableInspection */
foreach ($imageIterator as $row => $pixels) { /* Loop trough pixel rows */
foreach ($pixels as $column => $pixel) { /* Loop through the pixels in the row (columns) */
/** @var $pixel \ImagickPixel */
if ($column % 2) {
$pixel->setColor("rgba(0, 0, 0, 0)"); /* Paint every second pixel black*/
}
}
$imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
}
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
getPixelIterator() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,33 @@
--TEST--
Test Imagick, getPixelRegionIterator
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function getPixelRegionIterator() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imageIterator = $imagick->getPixelRegionIterator(100, 100, 200, 200);
/** @noinspection PhpUnusedLocalVariableInspection */
foreach ($imageIterator as $row => $pixels) { /* Loop trough pixel rows */
foreach ($pixels as $column => $pixel) { /* Loop through the pixels in the row (columns) */
/** @var $pixel \ImagickPixel */
if ($column % 2) {
$pixel->setColor("rgba(0, 0, 0, 0)"); /* Paint every second pixel black*/
}
}
$imageIterator->syncIterator(); /* Sync the iterator, this is important to do on each iteration */
}
$bytes = $imagick;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
getPixelRegionIterator() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, haldClutImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function haldClutImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagickPalette = new \Imagick();
$imagickPalette->newPseudoImage(640, 480, "magick:NETSCAPE");
$imagickPalette->sepiatoneImage(55);
$imagick->haldClutImage($imagickPalette);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
haldClutImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,67 @@
--TEST--
Test Imagick, forwardFourierTransformImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
//Utility function for forwardTransformImage
function createMask() {
$draw = new \ImagickDraw();
$draw->setStrokeOpacity(0);
$draw->setStrokeColor('rgb(255, 255, 255)');
$draw->setFillColor('rgb(255, 255, 255)');
//Draw a circle on the y-axis, with it's centre
//at x, y that touches the origin
$draw->circle(250, 250, 220, 250);
$imagick = new \Imagick();
$imagick->newImage(512, 512, "black");
$imagick->drawImage($draw);
$imagick->gaussianBlurImage(20, 20);
$imagick->autoLevelImage();
return $imagick;
}
function forwardFourierTransformImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->resizeimage(512, 512, \Imagick::FILTER_LANCZOS, 1);
$mask = createMask();
$imagick->forwardFourierTransformImage(true);
@$imagick->setimageindex(0);
$magnitude = $imagick->getimage();
@$imagick->setimageindex(1);
$imagickPhase = $imagick->getimage();
if (true) {
$imagickPhase->compositeImage($mask, \Imagick::COMPOSITE_MULTIPLY, 0, 0);
}
if (false) {
$output = clone $imagickPhase;
$output->setimageformat('png');
$bytes = $output->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
$magnitude->inverseFourierTransformImage($imagickPhase, true);
$magnitude->setimageformat('png');
$bytes = $magnitude->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
forwardFourierTransformImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Test Imagick, levelImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$blackPoint = 50;
$whitePoint = 100;
$gamma = 2.2;
function levelImage($blackPoint, $gamma, $whitePoint) {
$imagick = new \Imagick();
$imagick->newPseudoimage(500, 500, 'gradient:black-white');
$imagick->setFormat('png');
$quantum = $imagick->getQuantum();
$imagick->levelImage($blackPoint / 100 , $gamma, $quantum * $whitePoint / 100);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
levelImage($blackPoint, $gamma, $whitePoint) ;
echo "Ok";
?>
--EXPECTF--
Ok
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, implodeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function implodeImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->implodeImage(0.0001);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
implodeImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, medianFilterImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 5;
function medianFilterImage($radius) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
@$imagick->medianFilterImage($radius);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
medianFilterImage($radius) ;
echo "Ok";
?>
--EXPECTF--
Ok
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Test Imagick, magnifyImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function magnifyImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->magnifyImage();
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
magnifyImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, linearStretchImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$blackThreshold = 0.2;
$whiteThreshold = 0.2;
function linearStretchImage($blackThreshold, $whiteThreshold) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$pixels = $imagick->getImageWidth() * $imagick->getImageHeight();
$imagick->linearStretchImage($blackThreshold * $pixels, $whiteThreshold * $pixels);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
linearStretchImage($blackThreshold, $whiteThreshold) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,39 @@
--TEST--
Test Imagick, mergeImageLayers
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$layerMethodType = 13;
function mergeImageLayers($layerMethodType) {
$imagick = new \Imagick();
$nextImage = null;
$imageNames = [
"magick:NETSCAPE",
"magick:logo",
"magick:GRANITE",
];
foreach ($imageNames as $imageName) {
$nextImage = new \Imagick();
$nextImage->newPseudoImage(640, 480, $imageName);
$imagick->addImage($nextImage);
}
$imagick->resetIterator();
$imagick->setImageFormat('png');
$result = $imagick->mergeImageLayers($layerMethodType);
$bytes = $result->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
mergeImageLayers($layerMethodType);
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,24 @@
--TEST--
Test Imagick, modulateImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$hue = 150;
$saturation = 100;
$brightness = 100;
function modulateImage($hue, $brightness, $saturation) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->modulateImage($brightness, $saturation, $hue);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
modulateImage($hue, $brightness, $saturation) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, motionBlurImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 20;
$sigma = 20;
$angle = 45;
$channel = Imagick::CHANNEL_DEFAULT;
function motionBlurImage($radius, $sigma, $angle, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->motionBlurImage($radius, $sigma, $angle, $channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
motionBlurImage($radius, $sigma, $angle, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, normalizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$channel = Imagick::CHANNEL_DEFAULT;
function normalizeImage($channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$original = clone $imagick;
$original->cropimage($original->getImageWidth() / 2, $original->getImageHeight(), 0, 0);
$imagick->normalizeImage($channel);
$imagick->compositeimage($original, \Imagick::COMPOSITE_ATOP, 0, 0);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
normalizeImage($channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Test Imagick, negateImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$grayOnly = 0;
$channel = Imagick::CHANNEL_DEFAULT;
function negateImage($grayOnly, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->negateImage($grayOnly, $channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
negateImage($grayOnly, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, newPseudoImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$canvasType = 'gradient:';
function newPseudoImage($canvasType) {
$imagick = new \Imagick();
$imagick->newPseudoImage(300, 300, $canvasType);
$imagick->setImageFormat("png");
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
newPseudoImage($canvasType) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,26 @@
--TEST--
Test Imagick, orderedPosterizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$orderedPosterizeType = "o8x8";
function orderedPosterizeImage($orderedPosterizeType) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->orderedPosterizeImage($orderedPosterizeType);
$imagick->setImageFormat('png');
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
orderedPosterizeImage($orderedPosterizeType) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, oilPaintImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 5;
function oilPaintImage($radius) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->oilPaintImage($radius);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
oilPaintImage($radius) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,24 @@
--TEST--
Test Imagick, posterizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$posterizeType = 2;
$numberLevels = 8;
function posterizeImage($posterizeType, $numberLevels) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->posterizeImage($numberLevels, $posterizeType);
$imagick->setImageFormat('png');
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
posterizeImage($posterizeType, $numberLevels) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,26 @@
--TEST--
Test Imagick, quantizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$numberColors = 64;
$colorSpace = 1;
$treeDepth = 0;
$dither = 1;
function quantizeImage($numberColors, $colorSpace, $treeDepth, $dither) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->quantizeImage($numberColors, $colorSpace, $treeDepth, $dither, false);
$imagick->setImageFormat('png');
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
quantizeImage($numberColors, $colorSpace, $treeDepth, $dither) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,23 @@
--TEST--
Test Imagick, radialBlurImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function radialBlurImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->radialBlurImage(3);
$imagick->radialBlurImage(5);
$imagick->radialBlurImage(7);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
radialBlurImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,37 @@
--TEST--
Test Imagick, readImageBlob
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function readImageBlob() {
// Image blob borrowed from:
// http://www.techerator.com/2011/12/how-to-embed-images-directly-into-your-html/
$base64 = "iVBORw0KGgoAAAANSUhEUgAAAM0AAAD
NCAMAAAAsYgRbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5c
cllPAAAABJQTFRF3NSmzMewPxIG//ncJEJsldTou1jHgAAAARBJREFUeNrs2EEK
gCAQBVDLuv+V20dENbMY831wKz4Y/VHb/5RGQ0NDQ0NDQ0NDQ0NDQ0NDQ
0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0PzMWtyaGhoaGhoaGhoaGhoaGhoxtb0QGho
aGhoaGhoaGhoaGhoaMbRLEvv50VTQ9OTQ5OpyZ01GpM2g0bfmDQaL7S+ofFC6x
v3ZpxJiywakzbvd9r3RWPS9I2+MWk0+kbf0Hih9Y17U0nTHibrDDQ0NDQ0NDQ0
NDQ0NDQ0NTXbRSL/AK72o6GhoaGhoRlL8951vwsNDQ0NDQ1NDc0WyHtDTEhD
Q0NDQ0NTS5MdGhoaGhoaGhoaGhoaGhoaGhoaGhoaGposzSHAAErMwwQ2HwRQ
AAAAAElFTkSuQmCC";
$imageBlob = base64_decode($base64);
$imagick = new Imagick();
$imagick->readImageBlob($imageBlob);
$bytes = $imageBlob;
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
readImageBlob() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,29 @@
--TEST--
Test Imagick, randomThresholdImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$lowThreshold = 0.1;
$highThreshold = 0.9;
$channel = Imagick::CHANNEL_DEFAULT;
function randomThresholdimage($lowThreshold, $highThreshold, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->randomThresholdimage(
$lowThreshold * \Imagick::getQuantum(),
$highThreshold * \Imagick::getQuantum(),
$channel
);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
randomThresholdimage($lowThreshold, $highThreshold, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Test Imagick, raiseImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$width = 15;
$height = 15;
$x = 10;
$y = 10;
$raise = 1;
function raiseImage($width, $height, $x, $y, $raise) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
//x and y do nothing?
$imagick->raiseImage($width, $height, $x, $y, $raise);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
raiseImage($width, $height, $x, $y, $raise) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, reduceNoiseImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$reduceNoise = 5;
function reduceNoiseImage($reduceNoise) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
@$imagick->reduceNoiseImage($reduceNoise);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
reduceNoiseImage($reduceNoise) ;
echo "Ok";
?>
--EXPECTF--
Ok
+32
View File
@@ -0,0 +1,32 @@
--TEST--
Test Imagick, recolorImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function recolorImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$remapColor = [ 1, 0, 0,
0, 0, 1,
0, 1, 0,];
//$remapColor = [
// 1.438, -0.122, -0.016, 0, 0, -0.03,
// -0.062, 1.378, -0.016, 0, 0, 0.05,
// -0.062, -0.122, 1.483, 0, 0, -0.02,
//];
@$imagick->recolorImage($remapColor);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
recolorImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, resampleImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function resampleImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->resampleImage(200, 200, \Imagick::FILTER_LANCZOS, 1);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
resampleImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Test Imagick, rollImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$rollX = 100;
$rollY = 100;
function rollImage($rollX, $rollY) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->rollimage($rollX, $rollY);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
rollImage($rollX, $rollY) ;
echo "Ok";
?>
--EXPECTF--
Ok
+51
View File
@@ -0,0 +1,51 @@
--TEST--
Test Imagick, resizeImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$filterType = 22;
$width = 200;
$height = 200;
$blur = 1;
$bestFit = 1;
$cropZoom = 1;
function resizeImage($width, $height, $filterType, $blur, $bestFit, $cropZoom) {
//The blur factor where &gt; 1 is blurry, &lt; 1 is sharp.
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->resizeImage($width, $height, $filterType, $blur, $bestFit);
$cropWidth = $imagick->getImageWidth();
$cropHeight = $imagick->getImageHeight();
if ($cropZoom) {
$newWidth = $cropWidth / 2;
$newHeight = $cropHeight / 2;
$imagick->cropimage(
$newWidth,
$newHeight,
($cropWidth - $newWidth) / 2,
($cropHeight - $newHeight) / 2
);
$imagick->scaleimage(
$imagick->getImageWidth() * 4,
$imagick->getImageHeight() * 4
);
}
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
resizeImage($width, $height, $filterType, $blur, $bestFit, $cropZoom) ;
echo "Ok";
?>
--EXPECTF--
Ok
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Test Imagick, rotateImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$angle = 45;
$color = 'rgb(127, 127, 127)';
function rotateImage($angle, $color) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->rotateimage($color, $angle);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
rotateImage($angle, $color) ;
echo "Ok";
?>
--EXPECTF--
Ok
+38
View File
@@ -0,0 +1,38 @@
--TEST--
Test Imagick, roundCorners
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function roundCorners() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->setBackgroundColor('red');
$imagick->setbackgroundcolor('pink');
$x_rounding = 40;
$y_rounding = 40;
$stroke_width = 5;
$displace = 0;
$size_correction = 0;
$imagick->roundCornersImage(
$x_rounding,
$y_rounding,
$stroke_width,
$displace,
$size_correction
);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
roundCorners() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,23 @@
--TEST--
Test Imagick, rotationalBlurImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function rotationalBlurImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->rotationalBlurImage(3);
$imagick->rotationalBlurImage(5);
$imagick->rotationalBlurImage(7);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
rotationalBlurImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Test Imagick, scaleImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function scaleImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->scaleImage(150, 150, true);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
scaleImage() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,25 @@
--TEST--
Test Imagick, selectiveBlurImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$radius = 5;
$sigma = 1;
$threshold = 0.5;
$channel = Imagick::CHANNEL_DEFAULT;
function selectiveBlurImage($radius, $sigma, $threshold, $channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->selectiveBlurImage($radius, $sigma, $threshold, $channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
selectiveBlurImage($radius, $sigma, $threshold, $channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, separateImageChannel
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$channel = Imagick::CHANNEL_DEFAULT;
function separateImageChannel($channel) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->separateimagechannel($channel);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
separateImageChannel($channel) ;
echo "Ok";
?>
--EXPECTF--
Ok
+24
View File
@@ -0,0 +1,24 @@
--TEST--
Test Imagick, segmentImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$clusterThreshold = 5;
$smoothThreshold = 5;
$colorSpace = 1;
function segmentImage($colorSpace, $clusterThreshold, $smoothThreshold) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->segmentImage($colorSpace, $clusterThreshold, $smoothThreshold);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
segmentImage($colorSpace, $clusterThreshold, $smoothThreshold) ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,29 @@
--TEST--
Test Imagick, setImageArtifact
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
function setImageArtifact() {
$src1 = new \Imagick();
$src1->newPseudoImage(640, 480, "magick:logo");
$src2 = new \Imagick();
$src2->newPseudoImage(480, 640, "magick:WIZARD");
$src2->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$src2->setImageArtifact('compose:args', "1,0,-0.5,0.5");
$src1->compositeImage($src2, Imagick::COMPOSITE_MATHEMATICS, 0, 0);
$src1->setImageFormat('png');
$bytes = $src1->getImagesBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
setImageArtifact() ;
echo "Ok";
?>
--EXPECTF--
Ok
@@ -0,0 +1,22 @@
--TEST--
Test Imagick, sepiaToneImage
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$sepia = 55;
function sepiaToneImage($sepia) {
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$imagick->sepiaToneImage($sepia);
$bytes = $imagick->getImageBlob();
if (strlen($bytes) <= 0) { echo "Failed to generate image.";}
}
sepiaToneImage($sepia) ;
echo "Ok";
?>
--EXPECTF--
Ok

Some files were not shown because too many files have changed in this diff Show More