Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Смешивание цветов

2.1K
18 марта 2006 года
wAngel
129 / / 23.11.2004
Подскажите, pls, как можно нарисовать спектр цветов, т.е. 3 круга, в пересечениее - смешенный цвет (красный + зеленый = желтый), а в пересечении всех трех - белый.

Заранее благодарен!
7.9K
19 марта 2006 года
uki_
122 / / 26.01.2006
Нужно установить две TImage на форму.
Image1 (200*200) Visible = true
Image2 (120*120) Visible = false
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Image1->Canvas->Brush->Color = clBlack;
  Image1->Canvas->FillRect(TRect(0,0,Image1->Width,Image1->Height));

  Image2->Canvas->Brush->Color = clBlack;
  Image2->Canvas->FillRect(TRect(0,0,Image2->Width,Image2->Height));

  Image1->Canvas->Brush->Color = RGB(0xFF, 0, 0);
  Image1->Canvas->Ellipse(0,0,120,120);

  Image2->Canvas->Brush->Color = RGB(0, 0xFF, 0);
  Image2->Canvas->Ellipse(0,0,120,120);

  Image1->Canvas->CopyMode = cmSrcPaint;
  Image1->Canvas->CopyRect(TRect(80,0,200,120), Image2->Canvas, TRect(0,0,120,120));

  Image2->Canvas->Brush->Color = RGB(0, 0, 0xFF);
  Image2->Canvas->Ellipse(0,0,120,120);
  Image1->Canvas->CopyRect(TRect(40,80,160,200),  Image2->Canvas, TRect(0,0,120,120));
}
15K
19 марта 2006 года
Red Alert
15 / / 19.03.2006
Цитата:
Originally posted by wAngel
Подскажите, pls, как можно нарисовать спектр цветов, т.е. 3 круга, в пересечениее - смешенный цвет (красный + зеленый = желтый), а в пересечении всех трех - белый.

Заранее благодарен!



Советую почитать в хелпе подробно про регионы Windows. Файктически, тебе нужно создать 3 эллиптических региона, и обрабатывая событие OnPaint (или WM_PAINT) конкретного контрола, рисовать в его канву (или в DC), эти три региона, используя соответсвующую Raster Operation (в твоем случае это будет операция OR).

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог