Форум: "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.045 c