Главная страница
    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.013 c
3-47233
Oleon
2002-06-20 14:26
2002.07.15
BDE


1-47534
Leny
2002-06-25 08:34
2002.07.15
Запуск программы из Delphi


1-47334
MaximatorVeter
2002-06-12 22:47
2002.07.15
Time Stamp


3-47115
maxon
2002-06-22 15:34
2002.07.15
переход на следущую строку


14-47769
Malder
2002-06-02 16:42
2002.07.15
GTA 1





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