2013-04-04 3 views
1

Всякий раз, когда я пытаюсь использовать функцию imageflip(), он показывает мне следующее сообщениеImageFlip() в PHP не определен

Fatal error: Call to undefined function imageflip() in D:\xampp\htdocs\temp1\image_flip.php on line 6

После того, как я назвал функцию imap_open, несмотря на то, я уже установил расширение IMap и настроил все. Тем не менее, он по-прежнему показывает одно и то же сообщение.

ответ

3

imageflip() is только после 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); 

Я не пробовал, а код не мой вообще, но с некоторыми трюками вы можете адаптировать его к вашим потребностям.