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

Вниз

Красивый Label   Найти похожие ветки 

 
Jimmy   (2012-01-08 09:26) [0]

Подскажите пожалуйста ссылку на скачивание какого-нибудь компонента красивого Label"а, трехмерного и пр. или ссылку на программу, которая бы легко позволяла создавать красивые надписи. Заранее спасибо!


 
brother ©   (2012-01-08 10:09) [1]

{************************************************************************* *****}
//                                                                            //
//         Компонент вывода на экран анимированного 3D текста                 //
//         с использованием OpenGL.                                           //
//         Версия 1.2                                                         //
//                                                                            //
//         Создано при использовании книги Краснова "OpenGL в Delphi"         //
//                                                                            //
//         Oe-5ye@yandex.ru                                                   //
//         Дегтярев Константин © 2003                                         //
//                                                                            //
{******************************************************************************}
unit Text3D;

interface
uses
 Forms,
 Graphics,
 Messages,
 Windows,
 OpenGL,
 Classes,
 ExtCtrls;

const
 YAYA_SCALE = 0.7;            // Буква Я :-)
 INIT_STRING = "Инициализация OpenGL...";
 FONT_WEIGHT_SCALER = 0.08;  // масштабный множитель соотношения длины буквы в пикселах и в пространстве
 FONT_HEIGHT = -28;           // высота создаваемого шрифта

 FONT_SIZE_SCALE = 0.125;     // масштабный множитель размера шрифта
 DEFAULT_PAUSE = 10;          // пауза поумолчанию
 DEFAULT_FONT_SIZE = 40;      // размер шрифта по умолчанию
 GLF_START_LIST = 1000;       // номер для компиляции букв
 BASE_SCALE = 0.08;           // единичный масштаб

 LITERA_HEIGHT = 2;           // высота буквы
 DEFAULT_DELTA_ROW = 3;       // расстояние между строками по умолчанию
 WAVE_AMPLITUDE = 0.3;        // амплитуда волны по умолчанию

 ROTATED_LITERAS = 2;         // количество буковок, которые будут вращаться вместе с центральной
 ROTATION_FRAMES = 20;        // число кадров, за которое повернется буковка (для atRotation)

 INIT_LINE_STEPS = 20;        // количество кадров для инициализации/финализации
 START_POINT_POS = 40;        // начальная удаленность прилетающего текста

 ROTATION_SPEED = 1;          // количество оборотов строки между кадрами для atFixedRotation
 DEFAULT_ROTATION_PERIOD = 6000; // период вращения надписи при нулевом времени переключения
 DIFFUSION_SCALE = pi/8;        // масштаб изменения угла для диффузного изменения строк
 DIFFUS_WAVE_SCALE = 0.1;         // амплитуда диффузного безобразия
 DIFFUS_OFFSET = 5;           // смещение колбасности букв

type
 // качество букв
 TQualityType = (qtFastest,
                 qtBest);

 // возможные виды анимации
 TAnimationType = (atFixedRotation,  // обычное вращение всего текста
                   atWave,           // волна
                   atHorWave,        // волна в плоскости горизонта
                   atSingleWave,     // единичная волна
                   atHorSingleWave,  // единичная волна в плоскости горизонта
                   atZoomWave,       // единичная волна с увеличением
                   atRotation);      // буковки вращаются

 TAnimationSet = set of TAnimationType;

 // описывает текущее состояние текста (прилетает, улетает, просто показывается)
 TTextCondition = (tcNormal, tcInit, tcGetOut);

 // тип смены линий
 TChangeStyle = (csSwitch,            // просто переключение
                 csRightToLeft,       // справа налево
                 csLeftToRight,       // слева направо
                 csLeftAndRight,      // вразбежку (в зависимости от индекса строки)
                 csBottomToTop,       // снизу вверх
                 csTopToBottom,       // сверху вниз
                 csTopAndBottom,      // верх и низ
                 csLiterasUpDown,              // буквы разлетаются вверх и вниз по отдельности
                 csDiffusion          // диффузия
                 );

 TText3D = class (TCustomPanel)
 private
   FDefaultRotationPeriod : word;
   // событие, возникающее при окончании некоторого цикла анимации
   FOnAnimateCycleDone : TNotifyEvent;
   // событие, возникающее при смене строк
   FOnLinesChanging : TNotifyEvent;
   // набор стилей анимации
   FAnimationSet : TAnimationSet;
   // интенсивность света
   FLightIntensity : byte;
   // характеристики шрифта - имя
   FFontName : TFontName;
   // характеристики шрифта - размер
   FFontSize : integer;
   // характеристики шрифта - стиль
   FFontStyle : TFontStyles;
   // характеристики шрифта - набор символов
   FFontCharset : TFontCharset;
   // характеристики шрифта - цвет
   FFontColor : TColor;
   // амплитуда волны
   FWaveAmplitude : glFloat;
   // вид смены строк
   FChangeStyle : TChangeStyle;
   // описание текущего состояния текста
   FTextCondition : TTextCondition;
   // угол обзора - по умолчанию 30 градусов
   FVisionAngle : word;
   // смещение влево
   FLeftOffset : glFloat;
   // смещение вверх
   FTopOffset : glFloat;
   // расстояние между буквами
   FLiterasGap : glFloat;
   // расстояние между столбцами
   FRowsGap : glFloat;
   // толщина шрифта
   FLiteraDepth : glFloat;
   // количество отображаемых строк , 0 - все строки
   FLinesCount : word;
   // реально отображаемое количество строк
   FShownRows : word;
   // FRedraw - флаг перерисовки при выключении активности
   FRedraw : boolean;
   // мастштаб
   FScale : glFloat;
   // пауза между строками в кадрах
   FNewRowDelay : integer;
   // угол по оси y ( поворот в плоскости горизонта)
   FAngleY : glFloat;
   // и по оси Х - поворот вдоль вертикали
   FAngleX : glFloat;
   // подсчет кадров
   FCounter:integer;
   // внутренний счетчик для периодических действий
   FTmpCounter : integer;
   // индекс текущей строки
   FRowIndex:word;
   // флаг активности
   FActive : boolean;
   // цвет фона
   FBackColor : TColor;
   // список со строками
   FItems : TStringList;
   // внутренний таймер
   FTimer : TTimer;
   // частота обновления (мс)
   FRefreshDelay: word;
   // качество букв
   FQualityType : TQualityType;

   FGuidDC : HDC; // контекст вывода для GUID
   FGLDC : HGLRC; // контекст вывода для OpenGL

   // установка качества
   procedure SetQuality(aQuality : TQualityType);
   // процедура установки вручную нового индекса
   procedure SetRowIndex(Value : word);
   // установка стилей анимации
   procedure SetAnimationSet(Value : TAnimationSet);
   // установка угла обзора
   procedure SetVisionAngle(Value : word);
   // установка названия шрифта
   procedure SetFontName(Value : TFontName);
   // установка стиля шрифта
   procedure SetFontStyle(Value : TFontStyles);
   // установка набора символов
   procedure SetFontCharset(Value : TFontCharset);
   // установка размеров шрифта
   procedure SetFontSize(Value : integer);
   // установка строк
   procedure SetItems(Value: TStringList);


 
brother ©   (2012-01-08 10:11) [2]

блин, проще так:
http://narod.yandex.ru/disk/36867248001/3DText.zip


 
Gu   (2012-01-08 14:47) [3]

проще использовать вские сторонние компоненты - Jedy, Lmd, Tms, Devexpress, а с OG лучше не связываться - если запустить такую прогу на системе где его нет, что мы увидим?
еще вариант - использовать вместо лабела картинку с png или gif (чтобы прозрачная была и с тенью) - image onclick, а вот сделать красивую надпись могут многие проги - например тот же фотожеп или http://www.insofta.com/ru/3d-text-commander/ . Все эти проги без труда можно найти на торрентах.


 
icelex ©   (2012-01-08 15:13) [4]


> если запустить такую прогу на системе где его нет, что мы
> увидим

увидим систему, где нет OG


 
Gu   (2012-01-08 15:18) [5]

и чего? много виртуалок og не юзают или юзают в ограниченом режиме - такая прога на них - будет неработоспособна


 
brother ©   (2012-01-08 15:31) [6]

за что купил...


 
Rouse_ ©   (2012-01-08 16:51) [7]


> Gu   (08.01.12 15:18) [5]
>
> и чего? много виртуалок og не юзают или юзают в ограниченом
> режиме - такая прога на них - будет неработоспособна

Эмм, а тебе не кажется, что это проблема "виртуалок"? :)
ЗЫ: а еще Win32 приложение не будет работать под не Win осями, это тоже печально...


 
QAZ   (2012-01-08 22:20) [8]

оси осями,виртуалки виртуалками...
факт:=красивый Label<>крутая прога
;)


 
icelex ©   (2012-01-08 22:48) [9]


> факт:=красивый Label<>крутая прога

это уж точно: например, media player classic с интерфейсом вин98 - зе бест форевер


 
Jimmy   (2012-01-10 17:31) [10]

Всем спасибо!



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

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

Наверх




Память: 0.51 MB
Время: 0.008 c
15-1325881802
Юрий
2012-01-07 00:30
2012.05.13
С днем рождения ! 7 января 2012 суббота


2-1326454379
e+e|e
2012-01-13 15:32
2012.05.13
eof tfilestream


15-1325282449
Германн
2011-12-31 02:00
2012.05.13
Чем приклеить металл к мрамору?


2-1326165453
Drowsy
2012-01-10 07:17
2012.05.13
Вопрос в ускорении расчёта.


2-1326300960
Gu
2012-01-11 20:56
2012.05.13
константы