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

Вниз

Красивый 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.002 c
3-1275556179
Цукор5
2010-06-03 13:09
2012.05.13
запрос


2-1326450595
Nucer
2012-01-13 14:29
2012.05.13
PosEx и RawByteString


2-1325889921
Gu
2012-01-07 02:45
2012.05.13
beep


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


15-1325832653
LDV
2012-01-06 10:50
2012.05.13
выбор субд





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