avatar_qxov

Изображения вообще и .svg/.svgz в частности

Автор qxov, 03 Июнь 2013 в 23:33

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

qxov


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

Когда добавлял к сообщению аттач в формате svg, получил вместо изображения ссылку на скачивание файла. А жаль. Кроме того, хотелось бы увидеть поддержку gzip'ed svg - svgz, ибо в таком виде их размер существенно меньше.

mr.Dream

Цитата: qxov от 03 Июнь 2013 в 23:33

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

Когда добавлял к сообщению аттач в формате svg, получил вместо изображения ссылку на скачивание файла. А жаль. Кроме того, хотелось бы увидеть поддержку gzip'ed svg - svgz, ибо в таком виде их размер существенно меньше.

Используете любой хостинг фотографий, платный мом без этого, некоторые имеют примитивную обработку (уменьшение размера, корреккция яркости/контрастности), с помощью тэга [ img][ /img] (пробелы убрать) вставляете изображение где вам нужно.
На счет SVG - это не изображение, это xml-ориентированная текстовая информация. Не вижу проблемы аттачить в формате GIF или PNG рисунки с низкой цветовой информацией

qxov

Сторонние хостинги - это как раз пример того, как делать плохо.

svg - формат векторной графики, что позволяет чудеснейшим образом масштабировать хранящиеся в нем изображения. Сравнительно большой размер чистого svg убирается применением сжатого - svgz.

Для чисто растровых изображений, безусловно, png будет предпочтительней.

zap

Не надо никаких сторонних хостингов! Сторонние хостинги имеют плохую привычку удалять со временем картинки. Сегодня вот только нарвался - просматривал тему про электро-Калину, хотел посмотреть старые фотографии изготовления матрицы в крупном размере - ан шиш, на хостинге фоток в крупном размере уже и нет.
Заливайте картинки через "Вложения и другие параметры", чем не устраивает-то?
Формат SVG самому нравится, как-то пробовал "в лоб" убедить движок форума, что это картинка - не прокатило, библиотеки PHP не понимают формата. Надо как-то по-серьёзному курочить.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

qxov

Цитата: zap от 04 Июнь 2013 в 02:22
Формат SVG самому нравится, как-то пробовал "в лоб" убедить движок форума, что это картинка - не прокатило, библиотеки PHP не понимают формата. Надо как-то по-серьёзному курочить.
Может, коллективно победить получится? Каков масштаб проблемы?

zap

Ну, если у кого-то есть желание, надо скачать форум SMF, установить по минимуму, далее добиваемся чтобы SVG рендерились правильно, делаем diff и присылаем мне :)
Масштаб не то чтобы очень большой, но нет времени возиться да и PHP я "пешу и четаю со словарём".
Движку нужны всякие функции для определения размера картинки, для создания уменьшенной копии.. по большому счёту всё.
Я не знаю, какими библиотеками в PHP можно ковырять SVG файлы. Ну не парсить же их как XML, в самом же деле :)
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

master_255

А какой именно желаемый эффект?
Делать превьюшку без установки доп. модулей php точно не выйдет.

А если достаточно чтобы по клику на svg/svgz аттач не показывал диалог скачивания, а показывал картинку в самом браузере нужно в файле Sources\Display.php
Найти

// Send the attachment headers.
header('Pragma: ');
if (!$context['browser']['is_gecko'])
header('Content-Transfer-Encoding: binary');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($filename)) . ' GMT');
header('Accept-Ranges: bytes');
header('Connection: close');
header('ETag: ' . $eTag);


Добавить после

if($file_ext=='svg'){
header('Content-Type: image/svg+xml');
}
if($file_ext=='svgz'){
header('Content-Encoding: gzip', true);
header('Content-Type: image/svg+xml');
}


Найти
header('Content-Type: ' . ($context['browser']['is_ie'] || $context['browser']['is_opera'] ? 'application/octetstream' : 'application/octet-stream'));

Заменить на
header('Content-Type: '.$mime_type);

Найти
// Different browsers like different standards...

Добавить после
if(!in_array($file_ext,array('svg','svgz','png','jpg','jpeg','gif'))){

Закрыть фигурную скобку "}" после
else
header('Content-Disposition: ' . $disposition . '; filename="' . $utf8name . '"');

---

[user]zap[/user], есть возможность поставить http://php.net/manual/ru/book.imagick.php ?
Какая версия форума стоит? Я поставил SMF 2.0.4, на него мод "ATTACHMENTS IN MESSAGE" не встает. А тут он вроде есть.



qxov

Вот такую проблему форумчане отыскали.

Цитироватьhttps://electrotransport.ru/index.php?topic=17353.msg314016#msg314016

под спойлером картинки схемы выложенные на внешних файлхостах. когда по ним клацаеш -  выскакивает черное окошко "Запрашиваемое изображение не может быть загружено.
Попробуйте позже."

master_255

#8
Проблема в том что по ссылке не картинка а страничка хостинга изображений. На форуме какой то плагин открывает картинки через Fancybox (всплывающее окно поверх форума), и он ждет на входе только изображение.

Из решений или убрать плагин, или надеяться на умных пользователей которые будут открывать такие ссылки в новом окне.

илс

Цитироватьили надеяться на умных пользователей которые будут открывать такие ссылки в новом окне.

Похоже не все знают, как это делать. Уже писал сегодня, в одной теме.
Через правую кнопку мыши. Далее - открыть изображение. :exactly:

Kullx

[user]илс[/user], а не проще кликом колесика, при наличии?

Lion

Ну, вообще-то даже я не знал. К тому же это целиком и полностью вина выложившего в таком виде, с какой стати я должен себе голову ломать. Самый правильный вариант - теги "юрл" с адресом полноразмерной картинки, а внутри тег "имж" на превьюшку меньшего размера. Когда так вручную оформляешь, все открывается отлично. И юзвуеру не придется прогружать километры полновесных картинок от простого захода на страничку темы
50сс скут > 500w скут > 70сс скут > 1Kw @ 1Kwh вел > 4Kw @ 2Kwh вел > 6Kw @ 4Kwh мопед > 12Kw @ 5Kwh мопед (Проект "Луноход")

илс

Цитата: Kullx от 04 Март 2014 в 22:55
[user]илс[/user], а не проще кликом колесика, при наличии?
Проще или нет....не знаю. Лично у меня щелчок колесика запрограммирован на другую функцию.  :-)
====
Лев, а если полновесные картинки прятать под катом (спойлером), ведь это не тормозит загрузку у людей с медленным инетом?
Чем такой способ хуже?

Lion

Тем, что ты не видишь картинок. Сначала надочитать описания. А вообще, наилучшая иллюстрация косяка полноразмерных фоток - тема про фотогалерею. Туда вообще лучше без 15мбит не заходить. Понятно, что пионер хотел как лучше, но получилось как всегда ;-D
50сс скут > 500w скут > 70сс скут > 1Kw @ 1Kwh вел > 4Kw @ 2Kwh вел > 6Kw @ 4Kwh мопед > 12Kw @ 5Kwh мопед (Проект "Луноход")