Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[wdx] SVGInfo

 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
ProgMan13



Joined: 19 Aug 2009
Posts: 294

Post (Separately) Posted: Sat Mar 16, 2019 21:32    Post subject: [wdx] SVGInfo Reply with quote

Моя версия плагина SVGwdx (http://wincmd.ru/plugring/SVGwdx_64.html).
Поддерживает svgz, парсит xml. Поля "Calculated Width" и "Calculated Height" показывают размеры изображения при конвертации в растр (rsvg и Inkscape).

http://progman13.wincmd.ru/downloads/wdx_SVGInfo_1.0.zip
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1161

Post (Separately) Posted: Sun Nov 22, 2020 12:43    Post subject: Reply with quote

ProgMan13 wrote:
Поля "Calculated Width" и "Calculated Height" показывают размеры изображения при конвертации в растр (rsvg и Inkscape).

Не могли бы вы описать алгоритм или ткнуть носом, где почитать?
Back to top
View user's profile Send private message
ProgMan13



Joined: 19 Aug 2009
Posts: 294

Post (Separately) Posted: Mon Nov 23, 2020 15:50    Post subject: Reply with quote

Skif_off
Там просто. Сначала прочитать "width" и "height", если их нет - "viewBox".
Если ничего нет - оставить на откуп рендера. RSVG такие файлы может неправильно отображать.
Если полученные значения без единиц измерения или "px" - ничего пересчитывать не надо. Для RSVG остальные значения пересчитываются для 90 dpi.
Встречаются файлы с дикими размерами: https://openclipart.org/detail/322232/ss-californian. Такие в SVGView ограничиваются 5000-ми пикселей.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1161

Post (Separately) Posted: Mon Nov 23, 2020 19:37    Post subject: Reply with quote

ProgMan13, с пересчитыванием возникли сложности Smile

Так понял, если 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? Просто нашёл такую таблицу
Code:
1mm (мм) = 3.8 px
1cm (см) = 38 px
1pc (типографская пика) = 16 px
1pt (типографский пункт) = 4/3 px

и такую
Code:
1 пункт = 1.338307 пикселей
1 пиксель = 0.747213 пунктов

и немного завис...

Для шрифтов ещё можно использовать em и проценты, в SVG такое вряд ли попадётся? И pc можно пренебречь?
Back to top
View user's profile Send private message
ProgMan13



Joined: 19 Aug 2009
Posts: 294

Post (Separately) Posted: Tue Nov 24, 2020 13:21    Post subject: Reply with quote

Skif_off
Для pt: Round(N / 72 * DPI).
Для cm: Round(N / 2.54 * DPI).
Для pc: Round(N * (16 / 96 * DPI)).
У viebox 3 и 4 значения - ширина и высота.
С процентами сложнее. Но в основном там везде 100% и данные можно брать из viewbox.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1161

Post (Separately) Posted: Tue Nov 24, 2020 17:25    Post subject: Reply with quote

ProgMan13
Понял, спасибо!

Для "Calculated Width" и "Calculated Height", может быть, стоит добавить и 72? Если правильно понял, Illustrator по умолчанию импортирует/экспортирует с 72.

И, может быть, есть смысл уточнить в описании, что если width и heigh указаны в пикселях, то все items плагин вернёт без пересчёта? Неофиты могут растеряться, что все выходят одинаковые Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group