[wdx] SVGInfo
Модераторы: Моторокер, Avada, CaptainFlint, Nik, d-view
[wdx] SVGInfo
Моя версия плагина SVGwdx (http://wincmd.ru/plugring/SVGwdx_64.html).
Поддерживает svgz, парсит xml. Поля "Calculated Width" и "Calculated Height" показывают размеры изображения при конвертации в растр (rsvg и Inkscape).
http://progman13.wincmd.ru/downloads/wd ... fo_1.0.zip
Поддерживает svgz, парсит xml. Поля "Calculated Width" и "Calculated Height" показывают размеры изображения при конвертации в растр (rsvg и Inkscape).
http://progman13.wincmd.ru/downloads/wd ... fo_1.0.zip
Skif_off
Там просто. Сначала прочитать "width" и "height", если их нет - "viewBox".
Если ничего нет - оставить на откуп рендера. RSVG такие файлы может неправильно отображать.
Если полученные значения без единиц измерения или "px" - ничего пересчитывать не надо. Для RSVG остальные значения пересчитываются для 90 dpi.
Встречаются файлы с дикими размерами: https://openclipart.org/detail/322232/ss-californian. Такие в SVGView ограничиваются 5000-ми пикселей.
Там просто. Сначала прочитать "width" и "height", если их нет - "viewBox".
Если ничего нет - оставить на откуп рендера. RSVG такие файлы может неправильно отображать.
Если полученные значения без единиц измерения или "px" - ничего пересчитывать не надо. Для RSVG остальные значения пересчитываются для 90 dpi.
Встречаются файлы с дикими размерами: https://openclipart.org/detail/322232/ss-californian. Такие в SVGView ограничиваются 5000-ми пикселей.
ProgMan13, с пересчитыванием возникли сложности 
Так понял, если N pt, то считаем: (1 / 72) * N * dpi
Если dpi нет - берём равным 90. (Тоже немного непонятно, стандартно обычно 72 или 96, в зависимости от целей, но это ладно.)
Если только viewBox, то для viewBox="x1, x2, x3, x4" считаем
width = x3 - x1
heigh = x4 - x2
и результат будет в px, так? (x1 и x2 вроде обычно равны 0, но на всякий.)
А если mm, cm или in, то нужно пересчитать недюймы в дюймы (1 in = 2.54 cm) и умножить на dpi? Просто нашёл такую таблицу
и такую
и немного завис...
Для шрифтов ещё можно использовать em и проценты, в SVG такое вряд ли попадётся? И pc можно пренебречь?
Так понял, если N pt, то считаем: (1 / 72) * N * dpi
Если dpi нет - берём равным 90. (Тоже немного непонятно, стандартно обычно 72 или 96, в зависимости от целей, но это ладно.)
Если только viewBox, то для viewBox="x1, x2, x3, x4" считаем
width = x3 - x1
heigh = x4 - x2
и результат будет в px, так? (x1 и x2 вроде обычно равны 0, но на всякий.)
А если mm, cm или in, то нужно пересчитать недюймы в дюймы (1 in = 2.54 cm) и умножить на dpi? Просто нашёл такую таблицу
Код: Выделить всё
1mm (мм) = 3.8 px
1cm (см) = 38 px
1pc (типографская пика) = 16 px
1pt (типографский пункт) = 4/3 pxКод: Выделить всё
1 пункт = 1.338307 пикселей
1 пиксель = 0.747213 пунктовДля шрифтов ещё можно использовать em и проценты, в SVG такое вряд ли попадётся? И pc можно пренебречь?
ProgMan13
Понял, спасибо!
Для "Calculated Width" и "Calculated Height", может быть, стоит добавить и 72? Если правильно понял, Illustrator по умолчанию импортирует/экспортирует с 72.
И, может быть, есть смысл уточнить в описании, что если width и heigh указаны в пикселях, то все items плагин вернёт без пересчёта? Неофиты могут растеряться, что все выходят одинаковые
Понял, спасибо!
Для "Calculated Width" и "Calculated Height", может быть, стоит добавить и 72? Если правильно понял, Illustrator по умолчанию импортирует/экспортирует с 72.
И, может быть, есть смысл уточнить в описании, что если width и heigh указаны в пикселях, то все items плагин вернёт без пересчёта? Неофиты могут растеряться, что все выходят одинаковые