1

每当我尝试使用该功能imageflip()时,它都会向我显示以下消息

imageflip()致命错误:在D:\xampp\htdocs\temp1\image_flip.php第 6 行调用未定义函数

然而,一旦我调用了该imap_open函数,我已经安装了 imap 扩展并配置了所有内容。但是,它仍然显示相同的消息。

4

1 回答 1

3

imageflip()PHP 5.5之后可用。但是,您仍然可以自己定义它,如此所述(尽管如果您计划升级到 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);

我还没有尝试过,而且代码根本不是我的,但是通过一些技巧你可以根据你的需要调整它。

于 2013-04-05T10:21:09.747 回答