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

Вниз

Как преобразовать простой шрифт в BitMap со спец. эффектами?   Найти похожие ветки 

 
Yr2   (2002-09-13 19:02) [0]

Кто-нибудь знает компонент для преобразования строки текста с заданным шрифтом в изображение BitMap со спец. эффектами, типа тень, объемность, текстура, прозрачность и т.д. чтобы не рисовать все эти надписи в графическом редакторе?


 
Алексей Ким   (2002-09-13 19:27) [1]

хм... а ты подумал о том что ты спросил?
как насчет нажать ф1 на TBitmap и посмотреть методы и пропертисы?


 
Yr2   (2002-09-13 21:01) [2]

TO Алексей Ким ©
Зачем подкалывать? Возможно, я не очень понятно сформулировал вопрос. Попробую на примере. Я имею строку текста (string)
"С Новым годом!". Необходимо получить файл NewYear.bmp, который будет содержать ИЗОБРАЖЕНИЕ этой надписи в "очень красивом виде" (с "навороченными" спецэффектами). Так как таких надписей достаточно много и формироваться они должны в runtime, Delphi program, а не с помощью, например, ФотоШопа, то я и спросил о таком компоненте (или библиотеке функций).
Может, все-таки кто-нибудь подскажет? Заранее благодарен.


 
Алексей Ким   (2002-09-14 10:10) [3]

var i: TBitmap;

i := TBitmap.Create;
i.width := 100;
i.height := 50;
i.canvas.textout(0,0,"newyear");
i.savetofile("newyear.bmp");
i.free

тень - накладываешь 2 текста друг на друга и чуть сместив нижний,
фонт - практически тоже самое что битмап
var f: TFont;
f := TFont.Create;
f.Size := 16;
f.Style := [ fsBold ];
i.canvas.font := f;
f.free;
ну и читаешь пропертисы


 
Yr2   (2002-09-14 17:11) [4]

Алексей,
спасибо, конечно,... но это мне известно. Боюсь, что уже начинаю вас раздражать, но я ведь неоднократно подчеркивал, что это должно быть "очень красиво и со спец. эффектами". А что нам дает, например, такая процедура:

----------------------------
procedure TForm1.Test;

var i: TBitmap;

begin
i:=TBitmap.Create;
i.width :=200;
i.height :=50;
i.Transparent := True;
i.TransparentMode := tmAuto;

i.canvas.Font.Name :="Monotype Corsiva" {"MS Sans Serif" "Palatino Linotype" "Times New Roman"};
i.canvas.Font.Size :=20;
i.canvas.Font.Style :=[fsBold];

i.canvas.Font.Color :=clSilver;
i.canvas.textout(0,0,"New Year!");
Form1.Canvas.Draw(53,53, i);

i.canvas.Font.Color :=clRed;
i.canvas.textout(0,0,"New Year!");
Form1.Canvas.Draw(50,50, i);

i.Free;
end;
----------------------------

Все возможности ограничены пропертями TBitMap и TFont!!!
Как нарисовать надпись, у которой, например, "выпуклая" поверхность, то есть типа "пластмассовых" букв?
А больше всего раздражает "зубчатось" рисования линий. В мощных графических редакторах есть функции сглаживания (размытия) этих вот линий.
Или как, например, задать градиент цвета самого текста слева направо? Такого рода эффекты позволяют делать программы с мощными математическими пересчетами изображений. Вот это я и ищу.
Думаю, что могут помочь ребята, которые когда-либо сами разрабатывали графические редакторы.


 
Yr2   (2002-09-16 19:32) [5]

Ребята, может все-таки кто-нибудь знает библиотеку функций работы со шрифтами, которая позволяет создавать разные рекламные спецэффекты?


 
Yr2   (2002-09-20 22:07) [6]

уже сам нашел... может еще кому-нибудь понадобится.

SmoothText3D 1.03 делает многие такие вещи:
http://home.t-online.de/home/herbert.haas/

и статья есть еще полезная:
http://delphi.mastak.ru/articles/dib/index.html



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

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

Наверх




Память: 0.46 MB
Время: 0.007 c
1-7967
Сергиус
2002-09-24 12:26
2002.10.03
поиск в TListView


3-7784
Lakich
2002-09-15 12:28
2002.10.03
отчёт в Word


14-8120
RV
2002-09-02 10:00
2002.10.03
---|Ветка была без названия|---


3-7830
vitnt2000
2002-09-10 07:00
2002.10.03
Как свободно просматривать таблицу при добавлении данных?


14-8176
Lamer86
2002-09-04 21:23
2002.10.03
Как узнать IP человека, который написал мне письмо?





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