代码很简单,不作说明
void CStretchDlg::OnPaint()
{
CPaintDC dc(this);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
BITMAP bmpInfo;
CSize siBitmap;
if( GetObject(bitmap, sizeof(bmpInfo), &bmpInfo ) )
{
siBitmap.cx = bmpInfo.bmWidth;
siBitmap.cy = bmpInfo.bmHeight;
}
dcMem.SelectObject(&bitmap);
CRect rtClient;
GetClientRect(rtClient);
for( int x=0; x<rtClient.Width(); x += siBitmap.cx )
{
for( int y=0; y<rtClient.Height(); y += siBitmap.cy )
{
dc.BitBlt( x, y, siBitmap.cx, siBitmap.cy, &dcMem, 0, 0, SRCCOPY );
}
}
CDialog::OnPaint();
}
本文介绍了一种使用C++在Windows环境下实现位图拉伸显示的方法。通过在对话框类中重写OnPaint()函数,利用GDI进行位图加载、创建与选择设备上下文,并通过BitBlt函数重复绘制位图,实现位图的拉伸效果。
6222

被折叠的 条评论
为什么被折叠?



