Red de conocimiento informático - Aprendizaje de programación - ¿Cómo implementa MFC los colores degradados? ¿El efecto es el siguiente? ¿Es este efecto un método ampliamente utilizado y establecido para expresar el color? Pídele ayuda a Dios ~

¿Cómo implementa MFC los colores degradados? ¿El efecto es el siguiente? ¿Es este efecto un método ampliamente utilizado y establecido para expresar el color? Pídele ayuda a Dios ~

La idea básica es dibujar una línea y luego encontrar el patrón. La herramienta de captura de pantalla puede encontrar fácilmente que RGB es aproximadamente 0, 0, 160, luego el valor de B aumenta a 255, luego el valor de G aumenta a 255, luego el valor de B disminuye de 0 a 255 a 0, luego el valor de G disminuye a 0. Finalmente, el valor de R disminuye a 128, disminuyendo cada vez en 65438.

Implementación de MFC:

MoveWindow(200, 200, 1040, 87); ponerlo en initdialog

Luego onpaint se cambia así

void CcolorbarDlg::OnPaint(){

if (IsIconic())

{

CPaintDC dc(this); // usado para dibujar el dispositivo context

SendMessage(WM_ICONERASEBKGND, reinterpret_cast <WPARAM>(dc. GetSafeHdc()), 0);

// Centrar el icono en el rectángulo del espacio de trabajo int cxicon = getsystemmetrics(sm_cxicon);

int cy icon = GetSystemMetrics(SM_cy icon);

CRect rect

GetClientRect(& rect) ;

int x = (rect .width()-cxIcon+1)/2;

int y = (rect.height()-cyIcon+1)/2;

//Dibuja el icono dc. DrawIcon(x, y, m_hIcon);

}

Otro

{

CDialog::OnPaint();

}

int r, g, b;

r = 0

g = 0

b =; 160;

int I;

CClientDC dc(este);

for(I = 20; b & lt=255;++ i)

{

CPen newPen(PS_SOLID, 1, RGB(r, g, b));

Washington. Seleccione Objeto(&newPen);

Washington. MoveTo(i, 10);

Washington. LineTo(i, 50);

++ b;

}

r = 0;

g = 0;

p>

b = 255

for(;g & lt=255;++i)

{

CPen nuevoPen (PS_SOLID, 1, RGB(r,g,b));

Washington. Seleccione Objeto(&newPen);

Washington. MoveTo(i, 10);

Washington. LíneaA(i, 50);

++ g;

}

r = 0

g = 255

b = 255

for(;r & lt=255;++i)

{

CPen nuevoPen(PS_SOLID, 1, RGB (r, g, b));

Washington. Seleccione Objeto(&newPen);

Washington. MoveTo(i, 10);

Washington.

LineTo(i, 50);

++ r;

-b;

}

r = 255

g = 255

b = 0;

for(;g & gt0;++i)

{

CPen newPen(PS_SOLID, 1, RGB(r, g, b));

Washington. Seleccione Objeto(&newPen);

Washington. MoveTo(i, 10);

Washington. LineTo(i, 50);

-g;

}

r = 255

g = 0;

b = 0;

for(;r & gt128;++i)

{

CPen nuevoPen(PS_SOLID, 1, RGB(r , g, b));

Washington. Seleccione Objeto(&newPen);

Washington. MoveTo(i, 10);

Washington. LineTo(i, 50);

-r;

}

}