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

Вниз

Нужно сделать рамку с ПЛАВНО ! меняющимся цветом   Найти похожие ветки 

 
Dmitry V. Averuanov   (2002-07-01 12:52) [0]

Нужно сделать рамку с ПЛАВНО ! меняющимся цветом
Лучше всего - от черного к ярко-красному. При этом важно, чтобы сие чудо не мерцало !


 
Игорь Шевченко   (2002-07-01 13:08) [1]

изучение исходников TRxGradientCaption поможет...


> Лучше всего - от черного к ярко-красному


Программу учета грешников для слуг дьявола пишем ? :-)))


 
Opuhshii   (2002-07-01 13:20) [2]

и опять и снова,. Wm_paint
Rgb(байт_красного,байт_зеленого,байт_синего):Tcolor;

BOOL BitBlt(
HDC hdcDest, // handle to destination device context
int nXDest, // x-destination rectangle"s upper-left corner
int nYDest, // y-destination rectangle"s upper-left corner
int nWidth, // width of destination rectangle
int nHeight, // height of destination rectangle
HDC hdcSrc, // handle to source device context
int nXSrc, // x-source rectangle"s upper-left corner
int nYSrc, // y-source rectangle"s upper-left corner
DWORD dwRop // raster operation code
);


 
Dmitry V. Averuanov   (2002-07-01 14:29) [3]

- Маленький момент - собственно было-бы неплохо иметь ОБЪЕКТ в форме рамки с ПЛАВНО ! меняющимся цветом


 
WhiteRat   (2002-07-03 18:28) [4]

Например:

procedure DrawVerticalGradient(ACanvas:TCanvas; Start,Finish:TColor; Rect:TRect);
var
i,j: Word;
rgb: array [0..2] of Real;
dif: array [0..2] of Integer;
begin
for i := 0 to 2 do
begin
rgb[i] := GetByte(Start,i);
dif[i] := GetByte(Finish,i)-Trunc(rgb[i]);
end;
for i := Rect.Top to Rect.Bottom do
begin
ACanvas.Pen.Color := 0;
for j := 0 to 2 do
ACanvas.Pen.Color := ACanvas.Pen.Color or (Round(rgb[j]) shl (8*j));
ACanvas.MoveTo(Rect.Left,i);
ACanvas.LineTo(Rect.Right,i);
for j := 0 to 2 do
rgb[j] := rgb[j]+dif[j]/(Rect.Bottom-Rect.Top);
end;
end;


Применять в любому Canvas. Для горизонтальной заливки, имхо, развернуть координаты не составит труда.



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

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

Наверх




Память: 0.45 MB
Время: 0.02 c
1-47400
vixic
2002-07-02 17:21
2002.07.15
Обращение к DLL


1-47557
alxx
2002-06-27 12:11
2002.07.15
Масштаб метафайла


1-47420
mazepa
2002-07-03 01:42
2002.07.15
Не могу открыть файл в дин. массив


1-47295
volph
2002-06-30 10:33
2002.07.15
TTreeView и сохранить открытые ветки


1-47391
w666w
2002-07-02 10:40
2002.07.15
SOS. MSHTML в дауне...





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