任何一个可以提供给我使用CreateHatchBrush的样本
-
29-08-2019 - |
题
我想提请各地的缩略图影子在我的软件。 这似乎CreateHatchBrush可以帮助,但我不知道如何使用它,任何人都可以向我提供的样品中的C ++? 非常感谢!
解决方案
,最简单的办法是使用 GDI + 一>做到这一点。这里的一个快速和肮脏的阴影绘制样品:
void Render( HDC hdc )
{
Graphics gr( hdc );
Image image( L"sample.jpg" );
const int SHADOW_OFFSET = 7;
//
// draw shadow
//
SolidBrush shadow( Color( 190, 190, 190 ) );
Rect rc( 50, 50, image.GetWidth(), image.GetHeight() );
rc.Offset( SHADOW_OFFSET, SHADOW_OFFSET );
gr.FillRectangle( &shadow, rc );
//
// draw the image
//
gr.DrawImage( &image, 50, 50, image.GetWidth(), image.GetHeight() );
//
// draw a border
//
Pen border( Color( 0, 0, 0 ), 1 );
rc.Offset( -SHADOW_OFFSET, -SHADOW_OFFSET );
gr.DrawRectangle( &border, rc );
}
希望这有助于!
其他提示
我没有一个样品,但在Windows画笔一般使用一些提示。
CreateHatchBrush()
返回句柄。您需要使用该句柄,使该刷当前刷在你使用渲染设备上下文。调用设备上下文的SetObject
功能(普通的Windows GDI调用版本):
HDC myDC = GetDC (hWnd); //pass your window handle here or NULL for the entire screen
HBRUSH hatchBrush = CreateHatchBrush (HS_DIAGCROSS, RGB (255,128,0));
HBRUSH oldBrush = SelectObject (myDC, hatchBrush);
//draw something here
SelectObject (myDC, oldBrush); //restore previous brush
ReleaseDC (myDC);
不隶属于 StackOverflow