The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Плющим картинки в PHP imageresize"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Плющим картинки в PHP imageresize"
Сообщение от ubnormal emailИскать по авторуВ закладки on 13-Ноя-03, 18:02  (MSK)
Суть проблемы в следующем, есть задача делать миниатюры(превьюшки картинок) средствами PHP, вообщем-то задача была мной успешно решена, была написана некая универсальная функция которая берёт на входе любойе файло типа(gif,jpg,png) и плющит его пропорционально до заданного размера.

Но вот беда, качество ужасающее получаецца, картинки бледнеют, лиц не видно итд. итп. Вычитал на пхп.нет что проблема решается переписыванием кода пхп, но кто ж  его даст переписать-то, когда хостишься очень далеко с очень неприветливым суппортом?

Может есть у кого решение,а?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Плющим картинки в PHP imageresize"
Сообщение от .zZz. emailИскать по авторуВ закладки on 14-Ноя-03, 13:42  (MSK)
>Суть проблемы в следующем, есть задача делать миниатюры(превьюшки картинок) средствами PHP, вообщем-то
>задача была мной успешно решена, была написана некая универсальная функция которая
>берёт на входе любойе файло типа(gif,jpg,png) и плющит его пропорционально до
>заданного размера.
>
>Но вот беда, качество ужасающее получаецца, картинки бледнеют, лиц не видно итд.
>итп. Вычитал на пхп.нет что проблема решается переписыванием кода пхп, но
>кто ж  его даст переписать-то, когда хостишься очень далеко с
>очень неприветливым суппортом?
>
>Может есть у кого решение,а?
Мне тут в своё время подсказали:
надо использовать ImageCreateTrueColor вместо ImageCreate.
У меня всё заработало.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Плющим картинки в PHP imageresize"
Сообщение от test Искать по авторуВ закладки on 14-Ноя-03, 22:22  (MSK)
>>Суть проблемы в следующем, есть задача делать миниатюры(превьюшки картинок) средствами PHP, вообщем-то
>>задача была мной успешно решена, была написана некая универсальная функция которая
>>берёт на входе любойе файло типа(gif,jpg,png) и плющит его пропорционально до
>>заданного размера.
>>
>>Но вот беда, качество ужасающее получаецца, картинки бледнеют, лиц не видно итд.
>>итп. Вычитал на пхп.нет что проблема решается переписыванием кода пхп, но
>>кто ж  его даст переписать-то, когда хостишься очень далеко с
>>очень неприветливым суппортом?
>>
>>Может есть у кого решение,а?
>Мне тут в своё время подсказали:
>надо использовать ImageCreateTrueColor вместо ImageCreate.
>У меня всё заработало.

polzuj
resource imagecreatetruecolor ( int x_size, int y_size)


imagecreatetruecolor() returns an image identifier representing a black image of size x_size by y_size.

Note: This function was added in PHP 4.0.6 and requires GD 2.0.1 or later

Note: This function will not work with GIF file formats.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Плющим картинки в PHP imageresize"
Сообщение от zenon emailИскать по авторуВ закладки on 15-Ноя-03, 10:44  (MSK)
>Суть проблемы в следующем, есть задача делать миниатюры(превьюшки картинок) средствами PHP, вообщем-то
>задача была мной успешно решена, была написана некая универсальная функция которая
>берёт на входе любойе файло типа(gif,jpg,png) и плющит его пропорционально до
>заданного размера.
>
>Но вот беда, качество ужасающее получаецца, картинки бледнеют, лиц не видно итд.
>итп. Вычитал на пхп.нет что проблема решается переписыванием кода пхп, но
>кто ж  его даст переписать-то, когда хостишься очень далеко с
>очень неприветливым суппортом?
>
>Может есть у кого решение,а?

ImageTrueColor решает только проблему с выбором неправильной палитры -- исчезает бледность, непонятные цвета, проч, но остается проблема с качеством -- на фотографии, например, при большом сжатии запросто могут пропасть глаза ;) -- забавные шаржи получаются :D
Решить это можно, используя утилиту convert, которая прилагается к ImageMagic. Стоит практически у всех хостеров под *nix'ами

Использовать можно примерно так

header("Content-type: ".$mime_type);

$command = 'convert -crop '.$immWidth.'x'.$immHeight.'+'.$xdist.'+'.$ydist.' '.$filename.' -|convert -geometry '.$intNeedWidth.'x'.$intNeedHeight.' - -';

PassThru($command, $retval);

где

$mime_type - MIME - тип исходного изображения
$immWidth, $immHeight - размеры исходного изображения с коррекцией на соответствие пропорциям желаемого preview

$xdist, $ydist - смещение изображения с приведенными пропорциями относительно исходного изображения

$filenam - имя файла с исходным изображением

$intNeedWidth, $intNeedHeight - размеры превьюшки

Вообще там куча параметров.... Кроме того, работает с большим числом графических форматов.

Минус -- грузит сервер, поэтому лучше предусмотреть кэширование

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру