1--TEST-- 2Test Imagick, setImageMask basic 3--SKIPIF-- 4<?php 5require_once(dirname(__FILE__) . '/skipif.inc'); 6checkClassMethods('Imagick', array('getImageMask', 'setImageMask')); 7?> 8--FILE-- 9<?php 10 11// TODO - this doesn't really test that it works... 12 13$imagick = new \Imagick(); 14$imagick->newPseudoImage(640, 480, "magick:logo"); 15 16$default_mask = $imagick->getImageMask(Imagick::PIXELMASK_READ); 17 18if ($default_mask !== null) { 19 echo "Default mask is not null but\n"; 20 var_dump($default_mask); 21} 22 23$mask = new Imagick(); 24$mask->newPseudoImage(480, 640, "gradient:black-white"); 25$mask->transposeImage(); 26 27$imagick->setImageMask($mask, Imagick::PIXELMASK_READ); 28 29$mask = $imagick->getImageMask(Imagick::PIXELMASK_READ); 30$mask->setImageFormat('png'); 31//$mask->writeImage(__DIR__ . "/i_am_a_mask.png"); 32//if ( !== Imagick::PIXELMASK_READ) { 33// echo "Failed to set/get Imagick::PIXELMASK_READ"; 34//}; 35 36$imagick->setImageMask($mask, Imagick::PIXELMASK_WRITE); 37 38//$imagick->blurImage(15, 4); 39//$imagick->writeImage(__DIR__ . "/mask_test.png"); 40 41//if ($imagick->getImageMask() !== Imagick::PIXELMASK_WRITE) { 42// echo "Failed to set/get Imagick::PIXELMASK_WRITE"; 43// }; 44 45// This can only be tested MagickLibVersion >= 0x708 46// so should probably be in a test by itself, once it's figured out 47// what it does. 48// $imagick->setImageMask($mask, Imagick::PIXELMASK_COMPOSITE); 49//if ($imagick->getImageMask() !== Imagick::PIXELMASK_COMPOSITE) { 50// echo "Failed to set/get Imagick::PIXELMASK_COMPOSITE"; 51//}; 52 53$imagick->setImageMask($mask, -1); 54// $unknown_result = $imagick->getImageMask(Imagick::PIXELMASK_READ); 55// todo echo "not sure what -1 should be: $unknown_result \n"; 56 57echo "Ok"; 58?> 59--EXPECTF-- 60Ok