![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| Den1s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
здравствуйте!
есть задача ресайзить картинки при аплоаде до определенного размера. В сети нашел множество классов которые используют для этого GD библиотеку. Но к сожалению вместе с изменением размеров во всех этих классах стирается вся exif информация изображения( Как можно сделать ресайз картинки с сохранением exif данных? |
|||
|
||||
| topy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 18.2.2008 Репутация: нет Всего: 1 |
А что если сначала считать exif-информацию и сохранить ее отдельно, а потом просто к определнной картинке ее присвоить. ??
|
|||
|
||||
| Den1s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
topy: такая идея тоже рассматривалась, но к сожалению я не нашел подходящего класса или способа для записи exif информации в файл. На phpclasses.org есть единственный класс phpExifRw но он c чтением экзифа не корректно работает, не все данные вытягивает когда они есть, а записывать exif вообще не записывает,там даже пример не рабочий:(
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 2 Всего: 32 |
так в пхп есть родная библиотека по работе с exif?
но проще, всего, конечно, использовать imagemagick |
|||
|
||||
| Den1s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
хм...родная библиотека есть, но в ней только функция exif_read_data и я не вижу в ней методов для записи экзифа.
Что такое imagemagick? будет ли он работать на php 4? хотя по сути мне то всего лишь надо уменьшить картинку с сохранением хедера с экзифами, странно что это не по умолчанию реализовано((( |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 2 Всего: 32 |
Den1s, если разуть глаза, и посмотреть в код того, как это реализовано, то станет ясно, почему.
ответы на вопросы "что такое" дает гугл. |
|||
|
||||
| Den1s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
гугл ответ дал, ImageMagick использовать не получится, т.к. насколько я понял он должен быть установлен на сервере такой возможности не будет точно. Есть ли еще способ реализации поста?
по поводу "если разуть глаза, и посмотреть в код того, как это реализовано" не понятно, в какой код? и почему? неужели трудно написать парой слов? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 2 Всего: 32 |
В код ресайза с использованием убогой библиотеки GD.
Я понимаю, что это предложение звучит дико - как разобрать по винтику мотор нового БМВ, но, тем не менее, это так. Еще встречаются программисты, которые не только "делают сайты", но еще и пытаются понять, как работает та или иная программа. К сожалению, все реже и реже. Вопрос использования ImageMagick - это вопрос нескольких десятков долларов на адекватный хостинг или на услуги по установке на существующий сервер. Учитывая отсутствие других альтернатив для решения поставленного вопроса, рекомендую начинать думать в этом направлении. Это будет конструктивнее, чем жаловаться на судьбу в форуме. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 2 Всего: 32 |
суть всех этих классов сводится к одному - создать изображение во внутреннем формате GD, уменьшить его, и записать в джипег.
места для ексифа тум просто нет. Других, встроенных в пхп, средств для работы с графикой нет. однако существует великое множество библиотек, которые прекрасно справляются с этой задачей. и не только с ней. и великое множество совершенно одинаковых вопросов на форумах по пхп - "как мне на чистом пхп отресайзить картинку/сменить битрейт мп3/сконвертировать видео во флеш". И у всех - поголовно - "проблемы" с установкой программ на сервак. Ребят, ну если не приспособлен ваш сервак или админ для требуемой задачи - не так и не надо вообще за неё браться. Не надо думать, что РНР - волшебная палочка и умеет за вас кофе варить. РНР - это процессор гипертекста. Гипертекста. А все остальное - факультативно. Основная задача экскаватора - землю копать. И возить на нем картошку на базар - не лучшая идея, даже мотивируя это тем, что директор колхоза самосвал не даст. |
|||
|
||||
| Den1s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
я знаю что такое понять как работает та или иная программа, сам начинал с Синклера на котором бэйсик выучил методом тыка, проб и ошибок. Просто сейчас объемы и сроки такие что времени на анализ что и как оно работает просто нет, плюс не даром один из принципов ООП это инкапсуляция, и мне не должно быть важно КАК класс это делает, важнее чтобы он это делал правильно. Вообщем я нашел такую вещь как PHP_JPEG_Metadata_Toolkit который прекрасно справляется с чтением и записью экзифа, так что проблема закрыта. Если кто с такой проблемой столкнется решается так: 1.Читается экзиф с помощью PHP_JPEG_Metadata_Toolkit 2. Ресайзится картинка любым способом с помощью GD 3. Записывается в ресайзенную картинку экзиф с помощью PHP_JPEG_Metadata_Toolkit всем спасибо |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Графика | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |