每当我尝试使用函数imageflip()
时,它会显示以下消息
致命错误:在第6行的
imageflip()
中调用未定义的函数D:\xampp\htdocs\temp1\image_flip.php
一旦我调用了imap_open
函数,即使我已经安装了imap扩展并配置了所有。但是,它仍然显示相同的消息。
答案 0 :(得分:3)
imageflip()
仅在PHP 5.5 之后才可用。但是,您仍然可以自己定义它,如here所述(尽管如果您计划升级到PHP 5.5,建议不要实现您的,或者至少更改名称以避免重复问题)。为了stackoverflow,我将在这里粘贴代码:
<?php
/**
* Flip (mirror) an image left to right.
*
* @param image resource
* @param x int
* @param y int
* @param width int
* @param height int
* @return bool
* @require PHP 3.0.7 (function_exists), GD1
*/
function imageflip(&$image, $x = 0, $y = 0, $width = null, $height = null)
{
if ($width < 1) $width = imagesx($image);
if ($height < 1) $height = imagesy($image);
// Truecolor provides better results, if possible.
if (function_exists('imageistruecolor') && imageistruecolor($image))
{
$tmp = imagecreatetruecolor(1, $height);
}
else
{
$tmp = imagecreate(1, $height);
}
$x2 = $x + $width - 1;
for ($i = (int) floor(($width - 1) / 2); $i >= 0; $i--)
{
// Backup right stripe.
imagecopy($tmp, $image, 0, 0, $x2 - $i, $y, 1, $height);
// Copy left stripe to the right.
imagecopy($image, $image, $x2 - $i, $y, $x + $i, $y, 1, $height);
// Copy backuped right stripe to the left.
imagecopy($image, $tmp, $x + $i, $y, 0, 0, 1, $height);
}
imagedestroy($tmp);
return true;
}
使用它:
<?php
$image = imagecreate(190, 60);
$background = imagecolorallocate($image, 100, 0, 0);
$color = imagecolorallocate($image, 200, 100, 0);
imagestring($image, 5, 10, 20, "imageflip() example", $color);
imageflip($image);
header("Content-Type: image/jpeg");
imagejpeg($image);
我没有尝试过,而且代码根本不是我的,但有一些技巧你可以根据自己的需要调整它。