как уменшить jpeg?
заранее благодарен..
есть jpeg, скажем 100 на 200 и 100К, как уменшить этот самый файл чтобы он был скажем 10 на 20 и весом например 5К?
заранее благодарен..
Можно самому с помощью GD2 (см. документацию) а можно попробовать использовать PEAR:IMAGE:IMAGE_TRANSFORM
Можно самому с помощью GD2 (см. документацию)
у меня пхп 4.3.1, это означает что ГД библиотека уже у меня есть, насколько я понял. как её включить? в документции говорят надо указать опцию --with-gd. означает это что мне надо переинсталировать пхп с этой опцией? как это делается?
означает это что мне надо переинсталировать пхп с этой опцией? как это делается?
Судя по всему речь идет о винде?
Если о винде, тогда открываешь php.ini и ищешь там строчку: extension=php_gd2.dll, убираешь ";" перед этой строчкой и перезапускаешь Apache.
Если о *nix -- то да, нужно перекомпилить php.
--UPDATE--
Кстати, вот глянь в ман, там в комментах примеры, по моему как раз под твою задачу. Единственно, не уверен, что это будет парвильно работать с "весом" файлов, но попробовать стоит.
Если о винде, тогда открываешь php.ini и ищешь там строчку: extension=php_gd2.dll, убираешь ";" перед этой строчкой
Сделал так, не сработало. Ещё до загрузки станицы выскакивает окно, говорит: Unknown(): Unable to load dynamic library './php_gd2.dll', т.е. не находит эту библиотеку. поискал и сам её не нашёл :( , хотя в документации говорится что с 4.3.1 должна быть :x
photoshop...??
старик, если я написал это сюда, то наверное мне надо сделать это через пхп ;)
Сделал так, не сработало. Ещё до загрузки станицы выскакивает окно, говорит: Unknown(): Unable to load dynamic library './php_gd2.dll', т.е. не находит эту библиотеку. поискал и сам её не нашёл :( , хотя в документации говорится что с 4.3.1 должна быть :x
Ну что тебе сказать? У тебя стоит недоPHP. Случаем не Денвер какой-нибудь?
Скачай и установи нормальный полный дистрибутив с php.net
Hint: все "расширения" должны находится по адресу "/php/extensions/", глянь туда ещё разок, может таки пропустил?
Ну что тебе сказать? У тебя стоит недоPHP. Случаем не Денвер какой-нибудь?
Скачай и установи нормальный полный дистрибутив с php.net
амиго, ты оказался прав нащёт "недоПХП". скачал 4.3.4, установил, всё работает! :)
только теперь другой вопрос: не пойму никак как сделать чтобы обработанная картинка выводилась там где мне надо (напр. в поле таблицы)?? Работает только если я ставлю этот код,напр.
<?php
header("Content-type: image/jpeg");
$background = imagecreate (80, 50);
$foreground = imagecreatefromjpeg("im1.jpg");
imagecopyresampled ($background,$foreground, 0, 0, 0, 0, 80, 50, 800, 500);
imagejpeg($background);
imagejpeg($foreground);
?>
в самом начале. если пытаюсь сделать это в "теле" нихрена не рисует, а печатает код (код картинки, насколько понимаю). Пробовал так и сяк,- не доганяю! Как это делается??
...
только теперь другой вопрос: не пойму никак как сделать чтобы обработанная картинка выводилась там где мне надо (напр. в поле таблицы)??
....
в самом начале. если пытаюсь сделать это в "теле" нихрена не рисует, а печатает код (код картинки, насколько понимаю). Пробовал так и сяк,- не доганяю! Как это делается??
:)
Обязательно почитай про http заголовки.
почитай про http заголовки...
Даже про заголовки ещё раз почитал по твоему совету, амиго НаваНава, хотя и не нашёл там абсолютно ничего нового. это я уже знал и хэдер в теле не ставил, просто ошибся в предыдущем посте. Ну никак не въеду в эту тему! Что не так??
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<img src='<?php
$background = imagecreate (100, 80);
$foreground = imagecreatefromjpeg("im.jpg");
imagecopyresized ($background,$foreground, 0, 0, 0, 0, 100, 80, 700, 400);
imagejpeg($background);
imagejpeg($foreground);
?>.jpg'>
</body>
....
Ну никак не въеду в эту тему! Что не так??
....
Сравниваем приведенный код с примером из мана:
header("Content-type: image/jpeg");
$background = imagecreate (80, 50);
$foreground = imagecreatefromjpeg("serving.jpg");
imagecopyresampled ($background,$foreground, 0, 0, 0, 0, 80, 50, 800, 500);
imagejpeg($background);
imagejpeg($foreground);
?>
Как говориться, найдете n отличий.
Абисняю :D
Когда ты "говоришь" броузеру "header("Content-type: image/jpeg");"
Ты как бы сообщаешь, что идет бинарник, формата jpeg и броузер ведет себя соответственно. И там нет и не может быть никаких .jpeg и <body>!
Там нолики и единички.
(Starbers, Starberst -- понл?)
Для иллюстрации советую создать файлик img.php и вкатать туда пример из мануала, потом создать файлик test.html со строчкой: ""
ОС - Win
что делать ? :-)
Внимательно прочитать предыдущие сообщения.
Если не помогает -- у тебя другая фигня а не та же.
Внимательно прочитать предыдущие сообщения.
Если не помогает -- у тебя другая фигня а не та же.
Все.. нужно просто было четко указать в ini путь к dll .. разобрался..