Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Вниз

Вывод текста на 256-ти цветном bitma е   Найти похожие ветки 

 
Jimmy   (2007-08-24 17:44) [0]

Когда использую TextOut для 256-ти цветного bitmap"а, буквы выводятся без сглаживания. Как этого избежать? Заранее спасибо.


 
sniknik ©   (2007-08-24 17:51) [1]

а в 256-ти цветном bitmap-е, хватает полутонов используемых для сглаживания?
ответь и поймешь что делать.


 
Jimmy   (2007-08-24 17:57) [2]

Я добавляю в палитру цвета, используемые для сглаживания. Если делаю Canvas.Pixels[i,j]:=Color, то рисуется точка нужного цвета, а если делаю Canvas.TextOut(i,j,"A"), то полутона отсутствуют.


 
clickmaker ©   (2007-08-24 18:00) [3]

Display Properties - Appearance - Effects - ..method to smooth - ClearType?


 
Jimmy   (2007-08-24 18:10) [4]

А можно поподробнее?


 
Jimmy   (2007-08-24 19:03) [5]

Понял. Вне зависимости от этого сглаживания нет.


 
sniknik ©   (2007-08-24 19:50) [6]

> Я добавляю в палитру цвета, используемые для сглаживания.
и системная функция сразу же их опознала и радостно начала использовать... ?

> ...method to smooth - ClearType?
к этому бы еще
...Font.Name:= "Tahoma"; (или какой там экранный/считается им? т.к. там написано что параметр для них, но не сказано для всех...)


 
Jimmy   (2007-08-24 20:14) [7]

Шрифт я использую Times New Roman. То, что в палитре появились нужные цвета я узнаю по тому, что командой Pixel рисуется точка нужного цвета. Почему то же не происходит после TextOut?.. Допустим, я вообще не знаю, что такое палитра и т.п. Так как выводить текст со сглаживанием на 256-ти цветном bitmap"е?


 
sniknik ©   (2007-08-24 20:24) [8]

> Так как выводить текст со сглаживанием на 256-ти цветном bitmap"е?
самостоятельно, если сможешь... т.к. стандартными функциями никак. для проверки установи в виндах 256цветов и загляни под иконки на рабочем столе при установленном свойстве ([3]). не проверял, но чтото мне подсказывает что его (сглаживания) там не будет...


 
Jimmy   (2007-08-24 20:34) [9]

Я делаю так: рисую букву на 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"), вместо вышеуказанных циклов, сглаживания не происходит. Как быть?


 
antonn ©   (2007-08-25 11:41) [10]

Canvas.Pixels[] всегда долго, можно попробывать через bitmap.scanline() - раз в 5-10 быстрее


 
@!!ex ©   (2007-08-25 18:47) [11]

> [9] Jimmy   (24.08.07 20:34)

Полутноа считаються не одинаково для символов.
Сглаживать руками не проще?



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

Форум: "Начинающим";
Текущий архив: 2007.09.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.044 c
3-1179321528
DmitrichJ
2007-05-16 17:18
2007.09.16
Access. Работа с таблицами $


2-1187643455
wp2
2007-08-21 00:57
2007.09.16
Как загрузить Rich-тест в компонент TRichEdit на этапе проэктир..


15-1186125405
palva
2007-08-03 11:16
2007.09.16
хороший ученый не может быть верующим человеком


15-1187609713
AZIZE
2007-08-20 15:35
2007.09.16
ВОПРОС-ОПРОС. ОБРАЗОВАНИЕ


2-1188040143
новычек
2007-08-25 15:09
2007.09.16
как сделать такое





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский