Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как изменить размеры изображения с сохранением exi, как? 
V
    Опции темы
Den1s
Дата 29.4.2008, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 27.10.2005

Репутация: нет
Всего: нет



здравствуйте!
есть задача ресайзить картинки при аплоаде до определенного размера. В сети нашел множество классов которые используют для этого GD библиотеку. Но к сожалению вместе с изменением размеров во всех этих классах стирается вся exif информация изображения(

Как можно сделать ресайз картинки с сохранением exif данных?
PM MAIL   Вверх
topy
Дата 29.4.2008, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 18.2.2008

Репутация: нет
Всего: 1



А что если сначала считать exif-информацию и сохранить ее отдельно, а потом просто к определнной картинке ее присвоить. ??
PM MAIL   Вверх
Den1s
Дата 29.4.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 27.10.2005

Репутация: нет
Всего: нет



topy: такая идея тоже рассматривалась, но к сожалению я не нашел подходящего класса или способа для записи exif информации в файл. На phpclasses.org есть единственный класс phpExifRw но он c чтением экзифа не корректно работает, не все данные вытягивает когда они есть, а записывать exif вообще не записывает,там даже пример не рабочий:(
PM MAIL   Вверх
Feldmarschall
Дата 29.4.2008, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 2
Всего: 32



так в пхп есть родная библиотека по работе с exif?
но проще, всего, конечно, использовать imagemagick
PM   Вверх
Den1s
Дата 29.4.2008, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 27.10.2005

Репутация: нет
Всего: нет



хм...родная библиотека есть, но в ней только функция exif_read_data и я не вижу в ней методов для записи экзифа. 
Что такое imagemagick? будет ли он работать на php 4?  хотя по сути мне то всего лишь надо уменьшить картинку с сохранением хедера с экзифами, странно что это не по умолчанию реализовано(((
PM MAIL   Вверх
Feldmarschall
Дата 29.4.2008, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 2
Всего: 32



Den1s, если разуть глаза, и посмотреть в код того, как это реализовано, то станет ясно, почему.
ответы на вопросы "что такое" дает гугл.
PM   Вверх
Den1s
Дата 29.4.2008, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 27.10.2005

Репутация: нет
Всего: нет



гугл ответ дал, ImageMagick использовать не получится, т.к. насколько я понял он должен быть установлен на сервере такой возможности не будет точно. Есть ли еще способ реализации поста?

по поводу "если разуть глаза, и посмотреть в код того, как это реализовано" не понятно, в какой код? и почему? неужели трудно написать парой слов? smile 
PM MAIL   Вверх
Feldmarschall
Дата 29.4.2008, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 2
Всего: 32



В код ресайза с использованием убогой библиотеки GD. 
Я понимаю, что это предложение звучит дико - как разобрать по винтику мотор нового БМВ, но, тем не менее, это так.  Еще встречаются программисты, которые не только "делают сайты", но еще и пытаются понять, как работает та или иная программа. К сожалению, все реже и реже.

Вопрос использования ImageMagick - это вопрос нескольких десятков долларов на адекватный хостинг или на услуги по установке на существующий сервер. 
Учитывая отсутствие других альтернатив для решения поставленного вопроса, рекомендую начинать думать в этом направлении. Это будет конструктивнее, чем жаловаться на судьбу в форуме.
PM   Вверх
Feldmarschall
Дата 29.4.2008, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 2
Всего: 32



суть всех этих классов сводится к одному - создать изображение во внутреннем формате GD, уменьшить его, и записать в джипег.
места для ексифа тум просто нет.
Других, встроенных в пхп, средств для работы с графикой нет.
однако существует великое множество библиотек, которые прекрасно справляются с этой задачей. и не только с ней.
и великое множество совершенно одинаковых вопросов на форумах по пхп - "как мне на чистом пхп отресайзить картинку/сменить битрейт мп3/сконвертировать видео во флеш". И у всех - поголовно - "проблемы" с  установкой программ на сервак. Ребят, ну если не приспособлен ваш сервак или админ для требуемой задачи - не так и не надо вообще за неё браться. Не надо думать, что РНР - волшебная палочка и умеет за вас кофе варить. РНР - это процессор гипертекста. Гипертекста. А все остальное - факультативно. 
Основная задача экскаватора - землю копать. И возить на нем картошку на базар - не лучшая идея, даже мотивируя это тем, что директор колхоза самосвал не даст. 
PM   Вверх
Den1s
Дата 30.4.2008, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 27.10.2005

Репутация: нет
Всего: нет



Цитата(Feldmarschall @ 29.4.2008,  14:20)
Еще встречаются программисты, которые не только "делают сайты", но еще и пытаются понять, как работает та или иная программа. К сожалению, все реже и реже.

я знаю что такое понять как работает та или иная программа, сам начинал с Синклера на котором бэйсик выучил методом тыка, проб и ошибок. Просто сейчас объемы и сроки такие что времени на анализ что и как оно работает просто нет, плюс не даром один из принципов ООП это инкапсуляция, и мне не должно быть важно КАК класс это делает, важнее чтобы он это делал правильно. 

Вообщем я нашел такую вещь как PHP_JPEG_Metadata_Toolkit который прекрасно справляется с чтением и записью экзифа, так что проблема закрыта.

Если кто с такой проблемой столкнется решается так:

1.Читается экзиф с помощью PHP_JPEG_Metadata_Toolkit
2. Ресайзится картинка любым способом с помощью GD
3. Записывается в ресайзенную картинку экзиф с помощью PHP_JPEG_Metadata_Toolkit

всем спасибо smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0492 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.