Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.02.12;
Скачать: CL | DM;

Вниз

Пропорциональное изменение размера шрифта   Найти похожие ветки 

 
igorium ©   (2011-11-03 08:50) [0]

Всем привет.
Есть текст, набранный шрифтом с размером S (font.size := S).
Вывожу различную графику и данный текст в JPG-файл.
Требуется увеличить всё в X раз.
Вся графика увеличивается, банальным домножением на Х, а шрифт становится маленьким (font.size := S*X).

В чем я не прав?


 
Dimka Maslov ©   (2011-11-03 09:29) [1]

Font.Size - вещь абстрактная. Надо пользоваться Font.Height.


 
igorium ©   (2011-11-03 10:59) [2]

Dimka Maslov © Спасибо


 
KilkennyCat ©   (2011-11-03 18:39) [3]


> Font.Height.

тоже абстрактная зараза. слегка.


 
Сергей М. ©   (2011-11-03 19:33) [4]

Совсем не абстрактная.


 
KilkennyCat ©   (2011-11-03 22:03) [5]

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


 
Сергей М. ©   (2011-11-03 22:12) [6]

У меня и в теории и на практике оно ведет себя вполне адекватно.
Что я делаю неправильно ?)


 
KilkennyCat ©   (2011-11-03 23:13) [7]

и когда масштабирование для слабовидящих? у меня многострочность криво выходит. добавить забавных коэффициентов пришлось.


 
Германн ©   (2011-11-04 00:34) [8]


> KilkennyCat ©   (03.11.11 23:13) [7]
>
> и когда масштабирование для слабовидящих? у меня многострочность
> криво выходит. добавить забавных коэффициентов пришлось.
>
>

Поясни.
Крупный шрифт чем мешает?


 
KilkennyCat ©   (2011-11-04 10:07) [9]

происходит не совсем точное вычисление высоты. в результате, у меня сотня, две, три сотни записей отображаются нормально, а потом бац - либо считает, что должна быть еще одна строка и оставляет много пустого места, либо наоборот, подрезает.
ну, и как только я все отлажу, добьюсь везде счастия, я включаю крупный шрифт и получаю эту же проблему заново.
А казалось бы, векторы, точность, 2*2=4....


 
Сергей М. ©   (2011-11-04 11:00) [10]


> KilkennyCat ©   (04.11.11 10:07) [9]


Сдается мне что ты неверно понимаешь логику формирования растрового образа символа.

Задание высоты N будущего символьного растра вовсе не означает что любой символ из данного чарсета данного фонта при рендеринге будет "врисован" в растровое поле данной высоте точно по высоте N.


 
KilkennyCat ©   (2011-11-04 11:52) [11]

угу. и что тогда еще учитывать, чтобы знать, с какой все-таки высотой он будет врисован?


 
Сергей М. ©   (2011-11-04 13:18) [12]

он будет врисован с высотой, задуманной автором фонта.

тут никакие ухищрения с "универсальными" коэффициентами масштабирования не помогут - коэф-т будет зависеть исключительно от конкретного ряда символов конкретного чарсета конкретного фонта.


 
KilkennyCat ©   (2011-11-04 14:33) [13]


> он будет врисован с высотой, задуманной автором фонта.

осталось задать идиотский вопрос  - как эту высоту узнать?


 
Anatoly Podgoretsky ©   (2011-11-04 14:36) [14]

Use Height to specify the height of the font in pixels.
To specify the size of the font in points, use the Size property instead.


 
Anatoly Podgoretsky ©   (2011-11-04 14:41) [15]

Высота := Font.Size;
Font.Size := Font.Size * 5;


 
Дададад   (2011-11-04 14:41) [16]

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


 
KilkennyCat ©   (2011-11-04 15:08) [17]


> Получилось более-менее терпимо

вот. более-менее... но не 100%

Я лет 10 назад вынужден был полностью изучить ttf, как оно все рисуется, полностью писать свой DrawText, с учетом сдвига букв, когда верхняя часть буквы может отрисовываться над нижней частью буквы рядом...

И мне сейчас влом проделывать такой объем работ.
я хочу мультилайн. я хочу верить, что если я узнаю высоту строки "QWERTYUIOPASDFGHJKLZXCVBNM,qwertyuiopasdfghjklzxcvbnm" то ниче никуда не выползет.
а получается более-менее.


 
Сергей М. ©   (2011-11-04 15:10) [18]


> Anatoly Podgoretsky


Нет никакой разницы.

Size однозначно соответствует некоему Width и наоборот.
в ф-ции прямой и обратной конвертации фигурирует Font.PixelsPerInch, который постоянен.


 
Сергей М. ©   (2011-11-04 15:27) [19]


> некоему Width


Пардон, Height


 
Сергей М. ©   (2011-11-04 15:30) [20]


> если я узнаю высоту строки


Да что значит "узнаю" ?
Ты ее не "узнаешь", а задаешь сам такую какую тебе нужно заданием св-ва Height)
Если фонт не кривой, то ни один символ в его составе не вылезет по высоте за указанную тобой высоту в пикселах.


 
KilkennyCat ©   (2011-11-04 15:43) [21]


> Сергей М. ©   (04.11.11 15:30) [20]

понял. мы о разном говорим :)


 
Сергей М. ©   (2011-11-04 17:38) [22]


> KilkennyCat ©   (04.11.11 15:43) [21]


Я вообще-то о Height и Size и их вовсе не абстрактности)
А ты фиг знает о чем говоришь)


 
KilkennyCat ©   (2011-11-04 18:08) [23]

а я о вычислении высоты строки при отрисовке


 
Германн ©   (2011-11-04 23:44) [24]


> Сергей М. ©   (04.11.11 17:38) [22]
>
>
> > KilkennyCat ©   (04.11.11 15:43) [21]
>
>
> Я вообще-то о Height и Size и их вовсе не абстрактности)
> А ты фиг знает о чем говоришь)

Он о жизни вообще-то. :)
<offtop>
Я её узнал, когда поперла у меня дальнозоркость. Чтоб не тратить ни деньги, ни время на заказ и покупку очков, первым делом попробовал в винде поставить "крупный шрифт". Так почти все программы стали изображаться "коряво".
</offtop>



Страницы: 1 вся ветка

Текущий архив: 2012.02.12;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.011 c
6-1250609834
raslmc
2009-08-18 19:37
2012.02.12
Проблема с WebModule1


3-1271148522
Rusland
2010-04-13 12:48
2012.02.12
FibPlus в клиент-серверном приложении


15-1319229836
Германн
2011-10-22 00:43
2012.02.12
А в какой версии Дельфи


15-1319692729
Cubone
2011-10-27 09:18
2012.02.12
Помогите с прогой с SVN WC3BANLIST


15-1319616809
OW
2011-10-26 12:13
2012.02.12
Подскажите с внешними командами с файлами к MSSQL(копировать)