Форум: "KOL";
Текущий архив: 2019.02.17;
Скачать: [xml.tar.bz2];
Внизшрифт на канвасе выглядит разно! Найти похожие ветки
← →
Barloggg (2010-02-05 11:45) [0]столкнулся со странностью.
рисую я значит на канвасе. много и со вкусом. в основном текст.
так вот такая вещь. у тех людей, у кого в настройках экрана стоит "масштаб" не такой как у меня, то моя программа рисует шрифты не так как задумывалось!
я так понимаю дело в другом разрешении экрана. То есть у человека стоит другое количество pixelsperinch. У него просто монитор большой очень, вот он так и сделал.
В VCL я видел свойство PixelsPerInch и даже пользовался им когда игрался с выводом на принтер.
Я подумал что в целях экономии кода канвас создается с системными настройками по умолчанию и решением было бы принудительное указания некоего фиксированного pixelsperinch.
А где оно в KOL?
или мне придется ручками переделывать размер шрифта ориентируясь на некое "глобальное" разрешение? и кстати где его взять?
← →
Игорь Шевченко © (2010-02-05 12:28) [1]
> кстати где его взять?
GetDeviceCaps(..., LOGPIXELSY)
← →
mdw (2010-02-05 12:34) [2]В KOL размер шрифта указывается в пикселах, в VCL - в пунктах. Если нужно чтобы выглядело одинаково используйте тоже пункты, ну и преобразуйте как велит микрософт: "nHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELS), 72)"
(LOGPIXEL = GetDeviceCaps(DC, LOGPIXELSY))
← →
Barloggg (2010-03-05 12:08) [3]хмм.
если задавать размер шрифта отрицательными числами, то его высота выражается в пунктах.
может быть это мое решение? задавать fonthеight не 12, а скажем -12?
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2019.02.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.001 c