public function testInitFromSetBinary() { $settings = ezcImageImagemagickHandler::defaultSettings(); $settings->options['binary'] = ezcBaseFeatures::getImageConvertExecutable(); $handler = new ezcImageImagemagickHandler($settings); $filePath = $this->testFiles["jpeg"]; $ref = $handler->load($filePath); $handler->close($ref); }
public function testGetImageConvertExecutable() { $this->assertEquals('/usr/bin/convert', ezcBaseFeatures::getImageConvertExecutable()); }
public function testGetImageConvertExecutable() { $this->assertNotNull(ezcBaseFeatures::getImageConvertExecutable()); }
/** * Checks for ImageMagick on the system. * * @param ezcImageHandlerSettings $settings The settings object of the current handler instance. * @return void * * @throws ezcImageHandlerNotAvailableException * If the ImageMagick binary is not found. */ private function checkImageMagick(ezcImageHandlerSettings $settings) { if (!isset($settings->options['binary'])) { $this->binary = ezcBaseFeatures::getImageConvertExecutable(); } else { if (file_exists($settings->options['binary'])) { $this->binary = $this->settings['binary']; } } if ($this->binary === null) { throw new ezcImageHandlerNotAvailableException('ezcImageImagemagickHandler', 'ImageMagick not installed or not available in PATH variable.'); } // Prepare to run ImageMagick command $descriptors = array(array('pipe', 'r'), array('pipe', 'w'), array('pipe', 'w')); // Open ImageMagick process $imageProcess = proc_open($this->binary, $descriptors, $pipes); // Close STDIN pipe fclose($pipes[0]); $outputString = ''; // Read STDOUT do { $outputString .= rtrim(fgets($pipes[1], 1024), "\n"); } while (!feof($pipes[1])); $errorString = ''; // Read STDERR do { $errorString .= rtrim(fgets($pipes[2], 1024), "\n"); } while (!feof($pipes[2])); // Wait for process to terminate and store return value $return = proc_close($imageProcess); // Process potential errors if (strlen($errorString) > 0 || strpos($outputString, 'ImageMagick') === false) { throw new ezcImageHandlerNotAvailableException('ezcImageImagemagickHandler', 'ImageMagick not installed or not available in PATH variable.'); } }