![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вывод текста на 256-ти цветном bitma'е [D6, XP]
Jimmy © (2007-08-24 17:44:00)Когда использую TextOut для 256-ти цветного bitmap'а, буквы выводятся без сглаживания. Как этого избежать? Заранее спасибо.
@!!ex (2007-08-25 18:47:00) [1]> [9] Jimmy (24.08.07 20:34)
Полутноа считаються не одинаково для символов.
Сглаживать руками не проще?
antonn (2007-08-25 11:41:00) [2]Canvas.Pixels[] всегда долго, можно попробывать через bitmap.scanline() - раз в 5-10 быстрее
Jimmy (2007-08-24 20:34:00) [3]Я делаю так: рисую букву на 24-битном битмапе, добавляю в палитру 256-ти цветного битмапа все новые цвета, потом попиксельно считываю цвета с 24-битного и рисую на 256-ти цветном.
for i:=0 to Ib.Width-1 do
for l:=0 to Ib.Height-1 do
begin
Co:=Ib.Canvas.Pixels[i,l];
if (Co<>ImColor)then
Im.Pixels[Round(x)+i,Round(y)+l]:=Co;
end;
Проблема в том, что это работает непозволительно долго, но работает. Когда же после добавления новых цветов я делаю TextOut(x,y,'A'), вместо вышеуказанных циклов, сглаживания не происходит. Как быть?
sniknik (2007-08-24 20:24:00) [4]> Так как выводить текст со сглаживанием на 256-ти цветном bitmap'е?
самостоятельно, если сможешь... т.к. стандартными функциями никак. для проверки установи в виндах 256цветов и загляни под иконки на рабочем столе при установленном свойстве ([3]). не проверял, но чтото мне подсказывает что его (сглаживания) там не будет...
Jimmy (2007-08-24 20:14:00) [5]Шрифт я использую Times New Roman. То, что в палитре появились нужные цвета я узнаю по тому, что командой Pixel рисуется точка нужного цвета. Почему то же не происходит после TextOut?.. Допустим, я вообще не знаю, что такое палитра и т.п. Так как выводить текст со сглаживанием на 256-ти цветном bitmap'е?
sniknik (2007-08-24 19:50:00) [6]> Я добавляю в палитру цвета, используемые для сглаживания.
и системная функция сразу же их опознала и радостно начала использовать... ?
> ...method to smooth - ClearType?
к этому бы еще
...Font.Name:= 'Tahoma'; (или какой там экранный/считается им? т.к. там написано что параметр для них, но не сказано для всех...)
Jimmy (2007-08-24 19:03:00) [7]Понял. Вне зависимости от этого сглаживания нет.
Jimmy (2007-08-24 18:10:00) [8]А можно поподробнее?
clickmaker (2007-08-24 18:00:00) [9]Display Properties - Appearance - Effects - ..method to smooth - ClearType?
Jimmy (2007-08-24 17:57:00) [10]Я добавляю в палитру цвета, используемые для сглаживания. Если делаю Canvas.Pixels[i,j]:=Color, то рисуется точка нужного цвета, а если делаю Canvas.TextOut(i,j,'A'), то полутона отсутствуют.
sniknik (2007-08-24 17:51:00) [11]а в 256-ти цветном bitmap-е, хватает полутонов используемых для сглаживания?
ответь и поймешь что делать.