Форум: "Прочее";
Текущий архив: 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