Доступен новый выпуск программы SVG Cleaner (http://qt-apps.org/content/show.php/SVG+Cleaner?content=147974), предназначенной для пакетной очистки SVG-файлов от ненужной информации. Чистка осуществляется без потерь для видимого изображения. По сути программа делает две вещи: удаляет элементы и атрибуты, не участвующие в конечном изображении, и приводит задействованные элементы и атрибуты к более компактному виду. В итоге, результирующий размер файла может быть уменьшен на 40-60%.
Код программы написан с использованием Qt и распространяется (https://github.com/RazrFalcon/SVGCleaner) под лицензией GPLv2. Готовые пакеты для Ubuntu Linux можно загрузить из PPA-репозитория (https://code.launchpad.net/~svg-cleaner-team/+archive/svgcle...) проекта. Также доступны (https://sourceforge.net/projects/svgcleaner/files/) сборки для Windows и OS X.<center><a href="http://qt-apps.org/CONTENT/content-pre1/147974-1.png"&g... src="http://www.opennet.me/opennews/pics_base/0_1391531399.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>
В новой версии основная масса изменений приходится на движок программы, который стал в три раза быстрее, а степень очистки увеличилась на ~10%. В интерфейсе теперь две кнопки для добавления отдельных файлов и папок (работает и перетаскивание из файлового менеджера), причём папки читаются рекурсивно: SVG Cleaner сам найдёт все каталоги, где есть хоть один файл SVG, и добавит их в очередь на обработку.Основные изменения:
- Поддержка замены идентичных элементов на элемент ‘use’;
- Реализовано удаление неиспользуемых символов, удаление элементов вне области видимости (вне viewbox) и удаление дублирующихся элементов filter (только feGaussianBlur) и clipPath в секции defs;
- Добавлено применение трансформаций к базовым формам, градиентам, фильтрам размытия и контурам;
- Сокращение атрибута id;
- Обеспечено удаление элементов и атрибутов, специфичных для редактора Sketch;
- Добавлены новые варианты переводов сегментов пути в короткие эквиваленты.
- Улучшены: реализация удаления дублирующихся градиентов в секции defs, группировка элементов со схожими атрибутами, преобразование матриц трансформаций в короткие эквиваленты, разгруппировка элементов-контейнеров, преобразование единиц измерения, объединение схожих градиентов, округление чисел, удаление невидимых элементов, удаление неиспользуемых атрибутов у элемента, удаление неиспользуемых символов из путей.URL: http://digilinux.ru/2014/02/03/svg-cleaner-0-6/
Новость: http://www.opennet.me/opennews/art.shtml?num=39003
Inkscape -> File -> Vacuum Defs
Inkscape -> File -> Save as -> Optimized SVG
Минимум в 2-а раза хуже.
Пару раз поломала файлы, но с ручной настройкой результат впечатлил. Беру на вооружение.
cli-вариант где?
В комплекте.
У меня нет иконок. Я не верю
а зачем таким вещам gui, я что-то не понимаю? какие там кнопки могут быть, кроме Yes?
Для эмигрантов. Сам понимаешь, пока ему не покажешь метлу, он не поймет что от него хотят.
Ваше представление о мире единственно правильное и возможное? Хвала аллаху, что авторов ваше мнение не касается.
Конкретно здесь гуй
Конкретно здесь гуй к месту. Сразу кучу информации можно получить без дополнительных телодвижений - процент оптимизации, картинку "до" и "после" и т.п.Читать ман полезно если у программы есть какая-то идеология, которую важно понимать. А если всё, что требуется от пользователя, - это показать программе имя файла, то заставлять читать его ман, по-моему, - снобизм.
> Конкретно здесь гуй к месту. Сразу кучу информации можно получить без дополнительных
> телодвижений - процент оптимизации, картинку "до" и "после" и т.п.
> Читать ман полезно если у программы есть какая-то идеология, которую важно понимать.
> А если всё, что требуется от пользователя, - это показать программе
> имя файла, то заставлять читать его ман, по-моему, - снобизм.Про ман никто ничего не говорил.
Кучу информации можно выдать и в cli, благо она в текстовом виде.
gui тут полезен только для сверки изменений "на глаз".
Но когда у вас тысячи svg файлов, вряд ли будут к каждому присматриваться.
> Про ман никто ничего не говорил.
> Кучу информации можно выдать и в cli, благо она в текстовом виде.Я про это и говорю - информацию надо сначала _прочитать_ - хоть из cli, хоть из мана. А зачем заставлять пользователя тратить время на чтение, если всё, что от него требуется - это указать имя файла?
> gui тут полезен только для сверки изменений "на глаз".
> Но когда у вас тысячи svg файлов, вряд ли будут к каждому
> присматриваться.А если не тысячи? Ситуации разные бывают. Зачем брать именно крайние условия? И потом, сколько бы ни было файлов, вы предполагаемый результат видите _сразу_ - не надо дополнительных телодвижений, чтобы посмотреть, а что же там получилось.
запустить на коллекцию известных иконок faience чтобы увидеть отвратительные результаты работы этой утилиты даже с preset=basic.
пусть пилят, пока ещё всё плохо
> пусть пилят, пока ещё всё плохоили пусть не пилят. так как не "оптимизированные" SVG-файлы всё равно уже нормальные -- и без всякой "оптимизации" :-)
Какая разрядность ОС?
А результат работы программы зависит от разрядности ОС?
Мало ли. На самом деле ошибка была в работе TinyXML2 на русской локали. Уже исправлено. Теперь обрабатывает верно.
А, так вот оно что. Надо затестить :)
GUI морда к такого рода утилите - это просто дикость.
почему? гуевая морда сильно понижает порог вхождения, а значит юзеров будет больше
И какой прок от большего количества юзеров?
Когда GUI без CLI, причём, отдельным пакетом, вот это дикость.