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));
}
Смешивание цветов
Заранее благодарен!
Нужно установить две TImage на форму.
Цитата:
Originally posted by wAngel
Подскажите, pls, как можно нарисовать спектр цветов, т.е. 3 круга, в пересечениее - смешенный цвет (красный + зеленый = желтый), а в пересечении всех трех - белый.
Заранее благодарен!
Подскажите, pls, как можно нарисовать спектр цветов, т.е. 3 круга, в пересечениее - смешенный цвет (красный + зеленый = желтый), а в пересечении всех трех - белый.
Заранее благодарен!
Советую почитать в хелпе подробно про регионы Windows. Файктически, тебе нужно создать 3 эллиптических региона, и обрабатывая событие OnPaint (или WM_PAINT) конкретного контрола, рисовать в его канву (или в DC), эти три региона, используя соответсвующую Raster Operation (в твоем случае это будет операция OR).