Проблема с imagecreatetruecolor

Cramac

Новичок
Проблема с imagecreatetruecolor

Не работает функция imagecreatetruecolor. В чем дело?
Возможно надо ГД2, если да, то где скачать под винды?

Стоит ВинХП, ГД1.6.2.
 

Фанат

oncle terrible
Команда форума
скачивать ничего не надо.
гд второй версии стоит во всех вменяемых по сроку давности версиях пхп.
попробуй вопсользоваться поиском по форуму на тему как совершить пару примитивных действий на предмет ее установки
 

Sapfir

Guest
Повторяй за мной:

1). Иди в папку где у тебя распакован php.

2). Там открой папку extensions. В ней найди файл php_gd2.dll. Копируй его

3). Иди в папку где УСТАНОВЛЕН РНР (предположительно C:\php3 или С:\php4) и вставляй туда файл.

4). Открой свой php.ini (в папке Windows) найди строчку ;extension=php_gd2.dll и убери знак ";" в начале.

5). Улыбайся, радуйся...
 

Cramac

Новичок
Все выше написанное было сделано давно, единственное что помогло, так это обновление ПХП до ПХП 4.3.4
 

Cramac

Новичок
Одну проблему решил, теперь другая, перестал работать вот такой скриптик:

##################
$src = ImageCreateFromJPEG("./foto/".$name);
##################

header ("Content-type: image/JPEG");
$org_h = imagesy($src );
$org_w = imagesx($src );
if($org_h > $org_w ) {
$x_img="800";
$x_k= ($x_img * 100) / $org_h;
} else {
$y_img="800";
$y_k= ($y_img * 100) / $org_w;
}
if ($x_img==""){$x_img= ($org_h * $y_k)/100;}
else {$y_img=($org_w * $x_k)/100;}

if($org_h > $org_w ) {

// height is bigger than width
$cfg[height] = $x_img;
$cfg[width]= floor($cfg[height] * $org_w / $org_h );
$cfg[dstX]= ($y_img - $cfg[width]) / 2;
$cfg[dstY]= 0;
} else {
// width is bigger than height
$cfg[width]= $y_img;
$cfg[height] = floor($cfg[width] * $org_h / $org_w );
$cfg[dstX]= 0;
$cfg[dstY]= ($x_img - $cfg[height]) / 2;
}


$img = ImageCreateTrueColor($y_img,$x_img);

ImageCopyResized($img, $src, $cfg[dstX], $cfg[dstY], 0, 0, $cfg[width], $cfg[height], $org_w, $org_h );
##################
Imagejpeg($img);
##################
ImageDestroy($img );

при передаче всех данных ничего не происходит, а у хостера работает.
пытаюсь вот так открыть resize.php?name=selk001.jpg
а наме не передается.
Что не так?

ПС. Обновил то быстро, главное чтоб теперь не зря 6.5 мегов скачал...
 

Фанат

oncle terrible
Команда форума
обновить ПХП - НИКОГДА не зря, запомни это.

значит, ты совсем не умеешь отлаживать программы?
и если что-то не работает, то остается только опустить руки, или, на крайний случай, обратиться в форум - там сидят телепаты, которые определят, почему у тебя перестал работать скрипт.
я тебя правильно понял?

А каких-то идей у тебя нету, как попытаться узнать - почему скрипт перестал работать?

например, может быть, он выдает сообщение об ошибке, но что-то мешает тебе его увидеть?
 

Фанат

oncle terrible
Команда форума
про генерацию превьюшек на лету даже и писать ничего не буду. устал.
в конце концов, если серверу больше нечем другим заняться, то и пофиг.
а когда у него вдруг начнет все тормозить, тогда он сам прибежит сюда плакаться.
 

Cramac

Новичок
в том то и проблема что ничего не выдает.
Пустой экран и ни одной ошибки

А чот вы можете предложить на замену такого способа?
 

Фанат

oncle terrible
Команда форума
если браузеру в самом начале скрипта сказать, что дальше идет картинка
header ("Content-type: image/JPEG");
а не непосредственно перед тем, как ее выаодить - то и будет пустой экран.
Еще, если в пхп запрещен вывод ошибок на экран, то экран тоже будет пустым.

"пустой экран" - это не синоним "ничего не выдает"
 

lucas

Guest
Убери хидер и все увидишь сам. ([f]globals[/f])
 

Cramac

Новичок
ту lucas.
Спасиб, помогло.

А чем можно заменить такой способ?
 

Фанат

oncle terrible
Команда форума
на замену такого способа можно предложить не генерить превьюшку на лету каждый раз при запросе, а сгенерить заранее,
 

Cramac

Новичок
Фанат тебе тож спасиб.
А заранее делать, это создать превьюшку и записать ее, а потом просто грузить рисунок с диска?
 

Фанат

oncle terrible
Команда форума
конечно.
у тебя же лежат сами картинки?
ну так превьюшки, размером 2-3 килобайта и вовсе не проблема хранить.

но зато при просмотре галереи в 10 картинок у тебя не будет запускаться 10 пхп скриптов, отъедать память и процессор, распаковывая картинку из сжатого джпг в битмап и так далее.
 

Ulibka

Новичок
Та же самая проблема :)
Windows, Xampp (PHP 7), php_gd2.dll имеется,
В php.ini строчку раскоментировал:
extension=php_gd2.dll

Header поставил.

Подскажите пожалуйста, может быть в xampp библиотеку gd2 надо как то по особому подключать ?

Ошибка:
Call to undefined function imagecreatetruecolor()

PHP:
<?php
 
    
Header("Content-type: image/JPEG");


 // Создаём пустое изображение и добавляем текст
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

// Выводим изображение
imagejpeg($im);

// Освобождаем память
imagedestroy($im);


?>
 

Ulibka

Новичок
У меня php в процессе изучения - но за 14 лет проблема почему то осталась :)
Header стоит, dll есть , строчку в php.ini раскоментировал - что еще может быть ?
Или проблема в xampp ? и надо apache отдельно ставить и отдельно php (mysql я и так отдельно от xampp поставил)
 
Сверху