Используя PHP-функции Image и GD, вы можете использовать следующий метод для окончательного вывода изображения php
imagepng($image);
Иногда, по какой-либо причине изображение может не отображаться, обычно ошибка не в изображении, а в том, что фактические функции php не выполняются успешно. Однако это приводит к тому, что возвращается пустое изображение, которое мне не помогает.
Я хочу знать, есть ли способ обнаружить пустое или недействительное изображение и создать новое изображение, записать ошибки в новое изображение с помощью imagestring (), а затем отобразить это новое (отладочное) изображение.
например, успешно отображаемое изображение без ошибок:
$image = imagecreate(256, 256); //create image
imagecolortransparent($image, $BLUE); //set transparent
imagefilledrectangle($image, 0, 0, 256, 256, $BLUE); //fill with 'transparent colour'
//Draw a border round the image
imageline($image, 0, 0, 0, 255, $Black);
imageline($image, 0, 0, 255, 0, $Black);
imageline($image, 255, 0, 255, 255, $Black);
imageline($image, 0, 255, 255, 255, $Black);
imagestring($image, 1, 10, 10, "I am an image!", $Black);
imagepng($image);
imagedestroy($image);
но если я затем внесу некоторые ошибки в php-скрипт, которые могут или не могут быть связаны с фактическим созданием образа, то php-скрипт завершится неудачно, и изображение не будет видно ...
$image = imagecreate(256, 256); //create image
imagecolortransparent($image, $BLUE); //set transparent
imagefilledrectangle($image, 0, 0, 256, 256, $BLUE); //fill with 'transparent colour'
//Draw a border round the image
imageline($image, 0, 0, 0, 255, $Black);
imageline($image, 0, 0, 255, 0, $Black);
imageline($image, 255, 0, 255, 255, $Black);
imageline($image, 0, 255, 255, 255, $Black);
imagestring($image, 1, 10, 10, "I am an image!", $Black);
/* I am here to cause problems with the php script
** and cause the execution to fail, I am a function
** that does't exist...
**
** and I am missing a semi colon! ;)*/
non_existant_function()
imagepng($image);
imagedestroy($image);
На данный момент я хочу создать новое изображение, как указано выше, но вместо него я изображение! текст Я бы поставил фактическую ошибку, которая произошла.