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

Вниз

Текстурный шрифт   Найти похожие ветки 

 
elected   (2004-11-18 03:34) [0]

Мастера, подскажите п лучьше примерчик
нужно обтянуть любой текстурой любой шрифт
не картинками 1,2,3,4,5,6,а,б,в
а именно взять фонт задать ему разме и обтянуть текстурой
на выходе получить картинку


 
[lamer]Barmaglot ©   (2004-11-18 09:39) [1]

OpenGL? DirectX?


 
elected   (2004-11-18 12:39) [2]

DirectX
DelpiX


 
elected   (2004-11-18 12:42) [3]

А лучше вообще с помошью WinAPI
но если так нельзя то DirectX предпочтительн, так как везде почти присутствует


 
wicked ©   (2004-11-18 13:09) [4]

как всё сложно.... :))
читаем раздел msdn, повествующий о Paths... там как раз такие примеры.... да и на борландовском сайте тоже пример такой есть - лично качал...
единственное ограничение такого способа - необходимость использования только TrueType (OpenType?) шрифтов, а именно - заставить фонт-маппер давать именно такой шрифт по его LOGFONT-описанию (у меня не удалось, а в примере жестко было забито имя TrueType-шрифта)...


 
elected   (2004-11-18 13:51) [5]

Мне примен нужен =-)))
А не пойди туда незнаю куда, там вроде есть пример, но типа я не помню работает он или не работает =-)))
А еще там непомню где я тоже видел что-то подобное вроде у борланда
вобщем разбирайся сам нефиг туту писать =-))))
Помощь мне нужна а не болтавня!


 
wicked ©   (2004-11-18 13:54) [6]

пример для ленивых... на билдере:
 int x=0, y=0;
 const char *text="The quick brown fox";
 // begin path recording - in this case, just one string of text

HFONT font = GetStockObject(SYSTEM_FONT);
LOGFONT lf;
memset(&lf, 0, sizeof(lf));
GetObject(font, sizeof(lf), &lf);
lf.lfHeight = 100;
lf.lfWidth = 50;
lf.lfOutPrecision = OUT_TT_ONLY_PRECIS;
lf.lfQuality = PROOF_QUALITY;
memset(lf.lfFaceName, 0, sizeof(lf.lfFaceName));
font = CreateFontIndirect(&lf);
Canvas->Font->Handle = font;

 BeginPath(Canvas->Handle);
 // prevent the text box"s outline from being added to the path
 SetBkMode(Canvas->Handle,TRANSPARENT);
 Canvas->TextOut(x,y,text);
 EndPath(Canvas->Handle);
 // now the path can be used as clipping region - we draw a grid of lines on
 // the whole screen, but only the drawing within the path will appear
 SelectClipPath(Canvas->Handle,RGN_COPY);
 int i=0;
 for (i=0;i<Width;i+=7)
 {
   Canvas->MoveTo(i,0);
   Canvas->LineTo(i,Height);
 }
 for (i=0;i<Height;i+=7)
 {
   Canvas->MoveTo(0,i);
   Canvas->LineTo(Width,i);
 }


 
wicked ©   (2004-11-18 13:56) [7]

соль примера - в строках:
>  BeginPath(Canvas->Handle);
>  // prevent the text box"s outline from being added to the
> path
>  SetBkMode(Canvas->Handle,TRANSPARENT);
>  Canvas->TextOut(x,y,text);
>  EndPath(Canvas->Handle);
>  // now the path can be used as clipping region - we draw
> a grid of lines on
>  // the whole screen, but only the drawing within the path
> will appear
>  SelectClipPath(Canvas->Handle,RGN_COPY);


ЗЫ если этого мало, то я пас - я раздаю удочки, а не рыбу....


 
elected   (2004-11-18 18:52) [8]

Спасибо
> wicked ©

Если у кого еще что нибудь есть по этой теме - пишите, буду благодарен!



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

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

Наверх





Память: 0.46 MB
Время: 0.038 c
3-1107323920
pqr
2005-02-02 08:58
2005.03.06
dbgrid


4-1106554241
tradakad
2005-01-24 11:10
2005.03.06
замена черного цвета прозрачным на карте бит


4-1106394485
Islander
2005-01-22 14:48
2005.03.06
Как получить из системы названия кнопок Retry, Ignore, Cancel


1-1108993340
АМБ
2005-02-21 16:42
2005.03.06
Hint


3-1107264156
Dima_69
2005-02-01 16:22
2005.03.06
Какие файлы нужны для работы с базами данных на голой винде.





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