LINUX.ORG.RU
ФорумTalks

[ненавесть][inkscape] Когда же inkscape научится вставлять viewBox и ставить корректные размеры?

 


0

0

Вчера заимел кучу SVG-картинок, дико радовался, пока внутри не нашел: <!-- Created with Inkscape (http://www.inkscape.org/) -->, а это значит, что у тега <SVG> или нету аттрибута viewBox, или не проставлены размеры, или проставлены, но абсолютные, в результате чего картинки невозможно отрендерить под нужный размер. Вроде бы и векторное, а преимуществ вектора не видно. Надо каждую картинку разбирать, править размеры, сохранять и только потом уже рендерить. Поиск "исправлялки" ничего не принес. И вот так вот всегда.

Ответ на: комментарий от Deleted

Ну мусор хоть в отдельном неймспейсе лежит - не мешает. А вот без viewBox я вообще никак не могу использовать эти файлы. И никаких утилит для фикса найти не могу.

Прям мечта копираста: смотреть можно, а использовать - нет. Хотя внутри <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">

simple_best_world_web_master
() автор топика
Ответ на: комментарий от simple_best_world_web_master

Ммм... а нельзя просто взять width/height (или что там) и вставить в viewBox="0 0 число число" руками? Каждый файл придётся, конечно, но всё же. Или там и этих данных нет?

Чем именно смотришь, кстати? Вроде б ж оно должно всё равно растягиваться, если указывать ширину/высоту, в html например.

Deleted
()
Ответ на: комментарий от Deleted

> Или там и этих данных нет?

Данные есть, но... Скажем, задано width=500 height=500, а на экране присутствует картинка с реальными размерами 450х387, причем отрисованная не с верхнего-левого угла. А значит viewBox должен быть чем-то вроде "24 44 450 387", а учитывая кучу разных translate выковырить эти данные будет не просто

> Или там и этих данных нет?

фф, опера

> Вроде б ж оно должно всё равно растягиваться, если указывать ширину/высоту, в html например.

То, что я слил - не растягивается. Если поправить вьюбокс - начинает растягиваться нормально

simple_best_world_web_master
() автор топика
Ответ на: комментарий от boombick

Скрипт - не проблема, а вот найти координаты без полноценного парсера - проблема. Я уже подумываю о таком: рендерить картинки размером 2000х2000 пикселей, обрезать лишнее и из остатка находить viewBox, но это будет слишком долго...

simple_best_world_web_master
() автор топика
Ответ на: комментарий от simple_best_world_web_master

Хм... если стоит width=500 height=500, а картинка меньше, то автор так задумал, что бы были пустые пространства, тут уже скорее проблема это руки автора…

>То, что я слил - не растягивается.


Ссылка? Поковыряюсь тоже для интереса.

Deleted
()

Дай пример правильного и неправильного svg файла. И заодно объясни, чем они отличаются :)

Davidov ★★★★
()
Ответ на: комментарий от AP

Оно вычищает код. Не думаю, что оно правит размеры. Хотя кто знает :}

Deleted
()
Ответ на: комментарий от Deleted

http://www.clker.com/cliparts/d/7/d/b/1197088854512200748Romanov_Red_fruit_.svg - viewBox отсутствует.

Вот так вставляю: <embed src="1197088854512200748Romanov_Red_fruit_.svg" width="500" height="200" border="1"> и получаю прокрутку в ФФ.

http://www.clker.com/cliparts/9/e/1/2/11954237341217376590johnny_automatic_ch... - viewBox присутствует, скалится нормально, никакой прокрутки. Правда в нем же:

<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->

simple_best_world_web_master
() автор топика
Ответ на: комментарий от AP

Кстате, доставила их менюшка: http://www.codedread.com/menu.svg, которая рисует красивые кнопочки вроде флеша. В опере эти кнопочки почему-то начинают дико мигать (меняют уровень альфы, путая свое начальное состояние), в ФФ они не мигают, но через 20 секунд игры с ними резко падает FPS и все начинает тормозить. В обоих браузерах кнопки путают свое состояние и уменьшаются менее прозрачными, а потом резко меняют прозрачность. Хотя задумка красивая, одобряю.

Если это их прога так оптимизировала ихнее же меню - неужели ей вообще можно пользоваться?

simple_best_world_web_master
() автор топика
Ответ на: комментарий от simple_best_world_web_master

Нда… действительно. Если поменять на viewBox, то всё работает. width="468.50912" как бы намекает на что-то… (-_-)

<img src="Romanov_Red_fruit.svg" width="500" height="200">
кстати, работает как надо, но его, похоже, пока не понимает ничто кроме Оперы.

Deleted
()
Ответ на: комментарий от simple_best_world_web_master

>В опере эти кнопочки почему-то начинают дико мигать

У меня не мигает. Просто увеличивается в размере.

Deleted
()
Ответ на: комментарий от Deleted

> то автор так задумал, что бы были пустые пространства, тут уже скорее проблема это руки автора…

Самое интересное - инкскейп может экспортить как мне надо, у него есть режим "рисунок", а не "страница". Вот только как сразу растрировать кучу файлов (пакетное преобразование) я так и не нашел. Вот "страницами" растеризовать - нет проблем, но мне так не надо.

simple_best_world_web_master
() автор топика

Кстате, если открыть вишенку в inkview, то ресайзится она очень даже правильно. А если окошко сделать совсем маленьким, то inkview вылетает :)

simple_best_world_web_master
() автор топика
Ответ на: комментарий от AP

Ты тоже не перестаешь меня умилять. А теперь ответь, как 5000 файлов из клипарта подгрузить в 1 инстанс инкскейпа, дабы воспользоваться этой опцией? Дай угадаю, дальше ты посоветуешь inkscape -f in.svg -D -t -h 150 -e out.png (такое чудо уже 2 часа пашет, причем тоже с глюками), да? А вот как такие http://www.clker.com/clipart-1871.html картинки растрировать, и шобы их высота была 150 пикселей РОВНО тоже подскажешь?

simple_best_world_web_master
() автор топика
Ответ на: комментарий от AP

в мане сказано, что:

-D, --export-area-drawing

In PNG, PDF, PS, and EPS export, exported area is the drawing (not canvas), i.e. the bounding box of all objects of the document (or of the exported object if --export-id is used). With this option, the exported image will display all the visible objects of the document without margins or cropping. This is the default export area for EPS. For PNG, it can be used in combination wtih --export-use-hints.

вот только на практике получаем картинку, где большая часть - пустота, при этом отсутствуют даже намеки на слабозаметные полутона, т.е without margins or cropping не выполняется. Еще примеры, которые видно прямо в превью сайта: http://www.clker.com/search/network+zazou/1 - тоже все созданы в инкскейпе, тоже нету viewBox, правда хоть мусора от инкскейпа нет, видать почистили.

И вот чем проставить этот самый viewBox я так и не нашел. Равно как и средств растрирования, которые бы брали эти файлы без ошибок (хотя большая часть растрировалась нормально, хоть и с мылом порой)

simple_best_world_web_master
() автор топика
Ответ на: комментарий от simple_best_world_web_master

http://wiki.inkscape.org/wiki/index.php/ReleaseNotes047#Notable_bug_fixes

Several viewBox related bugs fixed * Documents with viewBox are now editable without transformation defects. In particular this affected documents created with e.g. pstoedit. bug #168370 * Resizing the page adjusts viewBox. bug #167682 * preserveAspectRatio parsing code fixed. bug #166885

Пишите багрепорты.

AP ★★★★★
()
Ответ на: комментарий от simple_best_world_web_master

Ну так напишите по-русски хотя бы :) Но так, чтобы осталось перевести и залить в лончпадский трекер. Делов-то :)

AP ★★★★★
()
Ответ на: комментарий от AP

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

simple_best_world_web_master
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.