C# では drawing2d.lineargradientbrush を使用できますが、現在 C++ では CreateSolidBrush 関数しか見つかりませんでした。ネイティブ gdi dll にグラデーション ブラシを作成する関数はありますか? msdn でこのようなものを見つけることができませんでした。ありがとう
4046 次
3 に答える
4
垂直グラデーションを描画するには:
void VerticalGradient(HDC hDC, const RECT& GradientFill,
COLORREF rgbTop, COLORREF rgbBottom)
{
GRADIENT_RECT gradientRect = { 0, 1 };
TRIVERTEX triVertext[ 2 ] = {
GradientFill.left - 1,
GradientFill.top - 1,
GetRValue(rgbTop) << 8,
GetGValue(rgbTop) << 8,
GetBValue(rgbTop) << 8,
0x0000,
GradientFill.right,
GradientFill.bottom,
GetRValue(rgbBottom) << 8,
GetGValue(rgbBottom) << 8,
GetBValue(rgbBottom) << 8,
0x0000
};
GradientFill(hDC, triVertext, 2, &gradientRect, 1, GRADIENT_FILL_RECT_V);
}
于 2009-09-13T20:17:54.950 に答える
2
C#はDrawing2dにGDI+を使用します。C++でもGDI+を使用できます-MSDN線形グラデーションの作成
于 2009-09-13T18:24:13.847 に答える