Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

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

 
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 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.037 c
14-1108132236
wl
2005-02-11 17:30
2005.03.06
Раз уж заговороли о HTML...


14-1108326303
Тимур
2005-02-13 23:25
2005.03.06
Джойстик на компьютер


4-1106069492
Sicilla
2005-01-18 20:31
2005.03.06
Показать диалог Dial-up


3-1107515479
syte_ser78
2005-02-04 14:11
2005.03.06
бд в ехе


1-1109060352
Alex7
2005-02-22 11:19
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский