GDI+学习笔记9-绘制网站流量报表
来源:互联网 发布:个人自动发卡平台源码 编辑:程序博客网 时间:2024/05/22 11:50
AlphaBlend: 图片的Alpha混合贴图
BOOL AlphaBlend(
HDC hdcDest,
int xoriginDest,
int yoriginDest,
int wDest,
int hDest,
HDC hdcSrc,
int xoriginSrc,
int yoriginSrc,
int wSrc,
int hSrc,
BLENDFUNCTION ftn
);
hdcDest:目标DC,
ftn:设置图片混合信息(如透明度)的结构体
typedef struct _BLENDFUNCTION {
BYTE BlendOp;
BYTE BlendFlags;
BYTE SourceConstantAlpha;
BYTE AlphaFormat;
} BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;
AlphaBlend的使用,需要设置半透明度的信息。通过BLENDFUNCTION结构体的SourceContantAlpha成员来设置,设置范围为0~255
解决界面闪烁问题:(拉伸窗体时,界面会闪烁):
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
// TODO: 在此添加任意绘图代码...
RECT rcClient;
::GetClientRect(hWnd,&rcClient);
HDC hMemDC=::CreateCompatibleDC(hdc);
HBITMAP hBitMap = ::CreateCompatibleBitmap(hdc,rcClient.right-rcClient.left,rcClient.bottom-rcClient.top);
HBITMAP hOldBmp = (HBITMAP)::SelectObject(hMemDC,hBitMap);
// 画背景
PaintImage(hWnd, hMemDC);
// 画文字
PaintString(hWnd,hMemDC);
// 画线
PaintLine(hMemDC);
PaintRect(hMemDC);
PaintEllipse(hMemDC);
PaintPie(hMemDC);
::BitBlt(hdc,0,0,rcClient.right-rcClient.left,
rcClient.bottom-rcClient.top,
hMemDC,0,0,SRCCOPY);
::SelectObject(hMemDC,hOldBmp);
::DeleteObject(hBitMap);
::DeleteObject(hMemDC);
EndPaint(hWnd, &ps);
break;
}
case WM_ERASEBKGND:
{
return 0;
}
BOOL AlphaBlend(
HDC hdcDest,
int xoriginDest,
int yoriginDest,
int wDest,
int hDest,
HDC hdcSrc,
int xoriginSrc,
int yoriginSrc,
int wSrc,
int hSrc,
BLENDFUNCTION ftn
);
hdcDest:目标DC,
ftn:设置图片混合信息(如透明度)的结构体
typedef struct _BLENDFUNCTION {
BYTE BlendOp;
BYTE BlendFlags;
BYTE SourceConstantAlpha;
BYTE AlphaFormat;
} BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;
AlphaBlend的使用,需要设置半透明度的信息。通过BLENDFUNCTION结构体的SourceContantAlpha成员来设置,设置范围为0~255
解决界面闪烁问题:(拉伸窗体时,界面会闪烁):
case WM_PAINT:
{
hdc = BeginPaint(hWnd, &ps);
// TODO: 在此添加任意绘图代码...
RECT rcClient;
::GetClientRect(hWnd,&rcClient);
HDC hMemDC=::CreateCompatibleDC(hdc);
HBITMAP hBitMap = ::CreateCompatibleBitmap(hdc,rcClient.right-rcClient.left,rcClient.bottom-rcClient.top);
HBITMAP hOldBmp = (HBITMAP)::SelectObject(hMemDC,hBitMap);
// 画背景
PaintImage(hWnd, hMemDC);
// 画文字
PaintString(hWnd,hMemDC);
// 画线
PaintLine(hMemDC);
PaintRect(hMemDC);
PaintEllipse(hMemDC);
PaintPie(hMemDC);
::BitBlt(hdc,0,0,rcClient.right-rcClient.left,
rcClient.bottom-rcClient.top,
hMemDC,0,0,SRCCOPY);
::SelectObject(hMemDC,hOldBmp);
::DeleteObject(hBitMap);
::DeleteObject(hMemDC);
EndPaint(hWnd, &ps);
break;
}
case WM_ERASEBKGND:
{
return 0;
}
0 0
- GDI+学习笔记9-绘制网站流量报表
- GDI/GDI+ 绘制网站流量统计报表 总结(1)
- GDI/GDI+ 绘制网站流量统计报表 总结(2)
- GDI/GDI+ 绘制网站流量统计报表 总结(3)
- GDI/GDI+ 绘制网站流量统计报表 总结(4)
- GDI/GDI+ 绘制网站流量统计报表 总结(5)
- GDI+学习笔记7-统计报表的图形绘制
- GDI+学习笔记6-统计报表的背景与文字的绘制
- ,net c# GDI 绘制图形 报表
- C# 学习笔记一(图形绘制基础1 GDI+)
- Windows GDI学习笔记——窗口的绘制
- GDI+学习笔记(三)绘制一张简单的图片
- GDI+学习笔记(五)绘制一个正方体
- C#学习笔记之使用GDI绘制简单的图形
- 关于GDI+学习笔记。
- GDI+学习笔记一
- GDI+学习笔记2
- GDI+学习笔记----前言
- 数据结构学习之路-第二章:一元多项式的表示及相加
- PHP单例模式
- Two Sum —— Leetcode
- SSH的整合,Spring与Hibernate整合,与Struts2整合,ssh整合
- bandwagon支付宝支付教程
- GDI+学习笔记9-绘制网站流量报表
- GDB读取动态库中定义的全局变量错误
- HDU 1402(A * B Problem Plus-FFT速度测试)
- ubuntu下svn每次都要输入密码
- 093 Restore IP Addresses [Leetcode]
- arduino与Processing通信问题
- create geometry from wkt
- J2SE视频总结——回头看,收获!
- 敏捷开发真正的重点不是 User Story 的拆分, 而是开发人员的能力