Главная страница
    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.038 c
2-1187766089
stanislav
2007-08-22 11:01
2007.09.16
Integer to widechar


15-1187241020
Sonia
2007-08-16 09:10
2007.09.16
У меня просто нет слов...


15-1187089130
просто так
2007-08-14 14:58
2007.09.16
как запретить несанкционированное скачивание?


15-1187432782
Riply
2007-08-18 14:26
2007.09.16
Удаление анкеты.


15-1187766946
koha
2007-08-22 11:15
2007.09.16
Все ли GSM устройства имеют аймиай?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский