Как изменить генерацию картинок на сайте?

#1 1 апреля 2011 в 10:03
Все картинки к статьям на сайте обрабатываются через библиотеку GD (/includes/graphic.inc). Ранее работал с этой библиотекой, просто создавая png-изображение и накладывая на него текст в нужных местах. В инстанте же никак не могу разобраться как это работает… Мне нужно генерировать картинки не в jpg, а в png с сохранением альфа-канала (imagesavealpha($image, true)). Перелопатил весь код, заменил с imagejpg на imagepng, в итоге картинки заливаются как jpg, но mime-тип у них png. Png-картинок вообще не создается.
Подскажите, в чем загвоздка?

P.S. Как вариант, подскажите как вообще отключить функцию регенерации картинок, т.е. заливать то, что я указываю при создании статьи, изменяя лишь имя файла на articleNN.png или articleNN.jpg (в зависимости от исходного расширения).

Пока, конечно, сделал просто качество jpg 100% вместо 80 по умолчанию… ну а если придется сменить фон на сайте с белого на любой другой, картинки что ли все перезаливать, изменяя фон в том же graphic.inc? Не супер…
#2 1 апреля 2011 в 11:17
Очень актуальный вопрос. Тоже хотелось бы, чтобы загруженные png не морфились в jpg без надобности.
UPD: После более внимательного изучения выяснилось, что перекодирования из png в jpg на самом деле не происходит, меняется лишь название файла и его расширение на jpg. Оригинал остается оригиналом.
#3 2 апреля 2011 в 23:13

UPD: После более внимательного изучения выяснилось, что перекодирования из png в jpg на самом деле не происходит, меняется лишь название файла и его расширение на jpg. Оригинал остается оригиналом.

Алхимик
Странное у Вас "внимательное изучение" какое-то… а то, что прозрачность теряется, присваивается белый фон, качество по умолчанию 80% вместо 100%, и в mime указан тип JPEG Вас не смутило? Перевод в jpeg осуществляется как раз через библиотеку GD, в инстанте она используется тут: /includes/graphic.inc
#4 3 апреля 2011 в 03:05
Если в настройках компонента стоит "не наносить водяного знака" и "сохранять оригинал", найти оригиналы пользовательских альбомов (которые видно по адресам сайт/users/{user_id}/photo{id}.html) можно в /images/users/photos/ прямо там у меня они и лежат, и если поменять — в шаблоне компонента com_users_photos_view.tpl
  1. <img border="0" src="/images/users/photos/medium/{$photo.imageurl}" alt="{$photo.title}" />
на
  1. <img border="0" src="/images/users/photos/{$photo.imageurl}" alt="{$photo.title}" />
Будет выводиться оригинал при просмотре альбома.
Можно ссылку добавить просто в шаблон — смотреть оригинал.
Для общих альбомов (которые видно по адресам сайт/photos/{album_id}) — при вышеуказанных настройках ссылка на оригинал присутствует в просмотре фотографии.

Да, она использует эту библиотеку, как мне уже подсказал StaryiSV, если не нравится, что оно переименовывает оригинал и.т.д. — смотреть следует файл core/ajax/imginsert.php.
#5 3 апреля 2011 в 10:03
Алхимик, мне для Каталога статей😊в настройках я сразу же отключил watermark, а опции "сохранять оригинал" там нет.

смотреть следует файл core/ajax/imginsert.php.

Алхимик
Это поковыряю на досуге. Возможно, в этом и кроется ответ на мой вопрос. Пока решил заливать все картинки просто с качеством 100% в jpg (переношу сайт с WP на Instant, поэтому сначала перенесу все статьи, потом уже буду разбираться с GD, и если что, картинки перезалью).
#6 3 апреля 2011 в 10:08
Да, я тут чего подумал то… Если все это будет сохранено в оригинале, в бд нужно будет заносить еще информацию о расширении ведь? (я просто бд инстанта еще не копал)
Судя по скриптам, все загружаемое конвертится в jpg и меняет название. Соответственно, во всех ссылках на картинки идет расширение jpg, а не то, что было в оригинале.
Если я не прав, поправьте, я только что проснулся...

P.S. Не глянул сразу на путь, который Вы дали… там же вроде не то, что нужно) картинки в статьи вроде как аяксом грузятся) я имею в виду "фото" к статьям.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.