我正在尝试使用php gd function imageflip()
翻转图像。我安装了GD。我在Windows上使用WAMP和codeigniter。 (并且在wamp上实现imagemagick很难 - 所以我不愿意)。 imageflip()应该像我看到的那样工作。我使用的是PHP版本5.4.16。
也许我错过了什么......
来自phpinfo()
:
GD
GD Support enabled
GD Version bundled (2.1.0 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.10
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 8
PNG Support enabled
libPNG Version 1.2.50
WBMP Support enabled
XPM Support enabled
libXpm Version 30411
XBM Support enabled
Directive Local Value Master Value
gd.jpeg_ignore_ warning 0 0
我有这段代码:
foreach($products_settings as &$ps) {
$filename = $_SERVER['DOCUMENT_ROOT'] . $ps['product_file'];
$source_image = imagecreatefromjpeg($filename);
//Put source image-resource into array
$ps['source_image'] = $source_image;
}
并且有效..
当我使用imagerotate()
工作时......
foreach($products_settings as &$ps) {
$filename = $_SERVER['DOCUMENT_ROOT'] . $ps['product_file'];
$source_image = imagecreatefromjpeg($filename);
//rotate image
$angle = $ps['product_angle'];
if (intval($angle) <> 0) {
$source_image = imagerotate($source_image, 360-$angle, imageColorAllocateAlpha($source_image, 255, 255, 255, 127));
}
//Put source image-resource into array
$ps['source_image'] = $source_image;
}
...但是当我使用imageflip(http://php.net/manual/en/function.imageflip.php)时
foreach($products_settings as &$ps) {
$filename = $_SERVER['DOCUMENT_ROOT'] . $ps['product_file'];
$source_image = imagecreatefromjpeg($filename);
imageflip($source_image, IMG_FLIP_BOTH); //code execution stops here
//Put source image-resource into array
$ps['source_image'] = $source_image;
}
然后imageflip()
使代码停止(如果我在不记录之后添加了该行的日志消息)。我想不通为什么?这是什么原因?我在codeigniter / php / apache中的错误日志中看不到任何内容。手册说该函数在失败时将返回false,但我知道图像是正确的,因为我正在使用其他gd函数用于与其他gd函数相同的图像(如imagerotate
,imageColorAllocateAlpha
等)
我也试过这个:
try {
imageflip($source_image, IMG_FLIP_BOTH);
}
catch (Exception $e) {
log_message('DEBUG', 'img err' . $e->__toString());
}
但是没有记录......
如何调试?
答案 0 :(得分:1)
没有imageflip
function in PHP版本5.4.16。安装PHP 5.5,你可以使用该功能。
如果您无法安装PHP 5.5并且需要使用GD翻转图像,您还可以使用一些适用于旧版PHP的代码,我为您搜索了一下:
我并不完全符合一些小问题的代码,但它实际上表明了如何做到这一点。