Windows界面编程第十篇 位图显示特效 百叶窗效果

Windows位图显示特效开发实战 GDI虽然功能基础,但通过合理使用BitBlt与双缓冲等技术,仍可在性能敏感的场景中实现高效的绘图。- 对于更高级的图形需求,建议转向Direct2D或DirectX,它们支持硬件加速与更丰富的图形功能。下一章将继续深入讲解图像像素操作与动态模拟技术,结合雨滴效果的实现,展示如何将GDI绘图与实际动画结合。 阅读详情

转载请标明出处,原文地址:http://blog.youkuaiyun.com/morewindows/article/details/8696722

欢迎关注微博:http://weibo.com/MoreWindows

 

Windows界面编程之位图显示特效系列目录:

1. 《Windows界面编程第九篇位图显示特效交错效果》

http://blog.youkuaiyun.com/morewindows/article/details/8696720

2. 《Windows界面编程第十篇位图显示特效百叶窗效果》

http://blog.youkuaiyun.com/morewindows/article/details/8696722

3. 《Windows界面编程第十一篇位图显示特效随机积木效果》

http://blog.youkuaiyun.com/morewindows/article/details/8696724

4. 《Windows界面编程第十二篇位图显示特效飞入效果与伸展效果》

http://blog.youkuaiyun.com/morewindows/article/details/8696726

5. 《Windows界面编程第十三篇位图显示特效合集》

http://blog.youkuaiyun.com/morewindows/article/details/8696730

本篇《Windows界面编程第十篇位图显示特效百叶窗效果》将讲解位图的百叶窗显示效果。如下图所示:

 水平百叶窗(图片不能打开,请访问http://blog.youkuaiyun.com/morewindows/article/details/8696722)

  垂直百叶窗(图片不能打开,请访问http://blog.youkuaiyun.com/morewindows/article/details/8696722)

 

在程序设计上,百叶窗将图像分开若干条,每条再不断扩张即可。下面给出代码:

//百叶窗效果 - 水平
//《Windows界面编程第十篇 位图显示特效 百叶窗效果》
//http://blog.youkuaiyun.com/morewindows/article/details/8696722
void AnimateDraw_JalousieHorizontal(HDC hdc, HDC hdcMem, int nWidth, int nHeight, UINT nIntervalTime = 15, UINT nJalousieNum = 10)
{
	int nJalousieHeight;
	nJalousieHeight = nHeight / nJalousieNum; //每个窗子的高度
	int i, j;
	for (i = 0; i <= nJalousieHeight; i++ ) 
	{
		for(j = 0; j < nJalousieNum; j++) //每个窗子
		{
			BitBlt(hdc, 0, j * nJalousieHeight, nWidth, i, hdcMem, 0, j * nJalousieHeight, SRCCOPY);
		}
		Sleep(nIntervalTime);
	}
	BitBlt(hdc, 0, 0, nWidth, nHeight, hdcMem, 0, 0, SRCCOPY);
}

//百叶窗效果 - 垂直
//《Windows界面编程第十篇 位图显示特效 百叶窗效果》
//http://blog.youkuaiyun.com/morewindows/article/details/8696722
void AnimateDraw_JalousieVertical(HDC hdc, HDC hdcMem, int nWidth, int nHeight, UINT nIntervalTime = 15, UINT nJalousieNum = 10)
{
	int nStep;
	nStep = nWidth / nJalousieNum;//每个窗子的高度
	int i, j;
	for (i = 0; i <= nStep; i++ ) 
	{
		for(j = 0;j < nJalousieNum; j++)//每个窗子
		{
			BitBlt(hdc, j * nStep, 0, i, nHeight,hdcMem, j * nStep, 0, SRCCOPY);
		}
		Sleep(nIntervalTime);
	}
	BitBlt(hdc, 0, 0, nWidth, nHeight, hdcMem, 0, 0, SRCCOPY);
}

完整的程序在《Windows界面编程第十三篇位图显示特效合集》

http://blog.youkuaiyun.com/morewindows/article/details/8696730

下一篇《Windows界面编程第十一篇位图显示特效随机积木效果》将讲解位图的随机积木显示效果。

地址:http://blog.youkuaiyun.com/morewindows/article/details/8696724

 

转载请标明出处,原文地址:http://blog.youkuaiyun.com/morewindows/article/details/8696722

欢迎关注微博:http://weibo.com/MoreWindows

 

30种C# winform 特效 winform实现PPT展示特效:从网上找的,整理的,这是其中一个特效的代码 #region 压缩反转(改进版) // 原理:计算图像位置和高度,以高度的一半为轴进行对换上下半边的图像 private void Animator01() { const float blockSize = 8; // 每次显示的高度增量,应能被高度整除 try { OnDrawStarted(this, EventArgs.Empty); // 触发开始绘制事件 //ClearBackground(); Color bgColor = Color.FromKnownColor(KnownColor.ButtonFace); RectangleF srcRect = new RectangleF(0, 0, bmp.Width, bmp.Height); for (float i = (float)Math.Floor(-bmp.Height / blockSize); i <= Math.Ceiling(bmp.Height / blockSize); i++) { dc.Clear(bgColor); // 清空DC float j = i * blockSize / 2; float destTop = bmp.Height / 2 - j; // 目标矩形的顶位置 // 目标矩形区域在循环的前半段为垂直反向 RectangleF destRect = new RectangleF(0, destTop, bmp.Width, 2 * j); // 在指定区域绘制图像,该图像被拉伸 dc.DrawImage(bmp, destRect, srcRect, GraphicsUnit.Pixel); ShowBmp(); Thread.Sleep(10 * delay); // 休眠 } } catch (Exception ex) { ShowError(ex.Message); } finally { OnDrawCompleted(this, EventArgs.Empty); // 触发完成绘制事件 } } #endregion 立即下载

相关推荐

百叶窗效果的实现(VC图像处理)

基于MFC编程对位图百叶窗效果的实现(VC图像处理)。

C#实现图片特效 ( 七)

C#实现图片特效 ( 七) 八.百叶窗效果 原理:(1).垂直百叶窗效果: 根据窗口或图像的高度或宽度和定制的百叶窗显示条宽度计算百叶窗显示的条数量 ; 根据窗口或图像的高度或宽度定制百叶窗显示条数量计算百窗显示的条宽度. (2).水平百叶窗效果: 原理同上,只是绘制像素点开始的坐标不同. 效果图: ( 七)(转)" src="http://pic002.cnblogs.co

yarkingJ的专栏 2173

qt 显示图片特效

qt 水平百叶窗 垂直百叶窗 回型扩大 左上角飞入 右下角飞入五种特效显示,可以自形修改应用

任意张图片,循环百叶窗

#include #include #include class Onepiece : public QWidget { Q_OBJECT public: explicit Onepiece(const QPixmap &pixmap = QPixmap(),QWidget *parent = 0); protected: virtual void paintEve

ch593030323的专栏 914

Qt-百叶窗效果

Qt图片加载达到百叶窗效果,很好,相学习Qt技术的可以看看

QT+OpenGL开发而成,能以点,线,面,平滑表面等方式显示模型

本程序由QT+OpenGL开发而成,能以点,线,面,平滑表面等方式显示模型,支持自由旋转,缩放,拖动,能检查模型是否完整,并自动补全模型,能读取ascii编码的obj模型和CAD模型

qt动画效果_Qml特效5-进场动画-百叶窗

目录(放个目录方便预览。知乎不支持目录,这个目录是从博客复制过来的,点击会跳转到博客)简介关于文章百叶窗效果预览实现原理简介这是《Qml特效-进场动画》系列文章的第5篇,涛哥将会教大家一些Qml进场动画相关的知识。进场动画效果 参考了WPS版ppt的动画,基本效果已经全部实现,可以到github TaoQuick项目中预览:进场动画预览关于文章文章主要发布在涛哥的博客 和 涛哥的知乎专栏-Qt进阶...

weixin_39887925的博客 682

最优化学习笔记1——关于拟牛顿法推导

从2020年3月份到现在,一年的时间里断断续续自学最优化,结合豆瓣读书、知乎等网站上的推荐,翻阅了以下书和课程: Stephen Boyd和Lieven Vandenberghe的《Convex Optimization》,这本书被公认为学习凸优化的必读经典著作,其中大量的篇幅讲应用,讲理论和算法的篇幅稍少一些。在B网站上有Boyd的视频课程,油管上也有,不过只有英文字幕,如果是零基础接触,直接看Boyd的视频稍显费劲,B站上也有凌青老师以《Convex Optimization》为教材的讲解,推荐作为入

xiaofei473的博客 1768

Windows界面编程第十一篇 位图显示特效 随机积木效果

Windows界面编程第十一篇 位图显示特效 随机积木效果

ffygvf的博客 244

统信UOS系统盘空间不足?5分钟搞定扩容的图形化解决方案

本文提供统信UOS系统盘空间不足的图形化扩容解决方案,使用GParted分区编辑器在不丢失数据的情况下快速完成扩容。详细步骤包括准备工作、空间调整和执行验证,适合技术用户快速解决问题。

d6e7f8的博客 956

2023年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题4)-网络部分解析-附详细代码

2023年全国职业院校技能大赛网络系统管理赛项模块A:网络构建(样题4)-网络部分解析-附详细代码

bfq05234214的博客 441

Windows界面编程第十三篇 位图显示特效合集

Windows界面编程第十三篇 位图显示特效合集

ffygvf的博客 127

OData Request:Create Entity 在 ABAP OData Client Proxy 中的工程化实践

文章摘要 本文针对具备 SAP Gateway 与 ABAP 开发经验的读者,详细讲解如何通过 ABAP OData Client Proxy 实现 OData 服务的 Create 操作。首先对比了 OData V2 与 V4 的 Create 规范差异,强调键、集合 URL 和请求体的标准化要求。随后介绍了 ABAP Client Proxy 的编程模型,包括 Client Proxy、Entity List Resource 和 Create Request/Response 三个核心对象,并提供了完

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 247

Windows界面编程第九篇 位图显示特效 交错效果

Windows界面编程第九篇 位图显示特效 交错效果

ffygvf的博客 206

DeepLens是一个用于计算镜头设计的可微光线追踪器

若安装过程中遇到网络问题导致安装失败,可尝试更换pip源,例如使用国内的镜像源,修改pip配置文件(Windows系统在。

max500600的博客 1139

华为OD新系统机试真题 - 准备生日礼物(Py/Java/C/C++/Js/Go)

华为OD机试新系统真题 4.8【准备生日礼物】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【准备生日礼物】

qq_45776114的博客 1478

Windows界面编程第十二篇 位图显示特效 飞入效果与伸展效果

Windows界面编程第十二篇 位图显示特效 飞入效果与伸展效果

ffygvf的博客 222

把开源 Skills 集成到 LangGraph 项目

1. 定义智能体状态(必须包含 messages,其他字段按需扩展)messages: List[HumanMessage | AIMessage | ToolMessage] # 消息流(核心)skill_output: Optional[str] # 存储 Skill 执行结果next_node: str # 控制流程跳转# 2. 定义智能体决策节点(决定是否调用 Skill)"""智能体决策逻辑:根据用户输入判断是否调用开源 Skill"""# 获取最后一条用户消息。

lpfasd123的博客 896
上一篇: Windows界面编程第九篇 位图显示特效 交错效果
下一篇: Windows界面编程第十一篇 位图显示特效 随机积木效果
MoreWindows
MoreWindows 《白话经典算法》、《秒杀多线程》作者 《白话经典算法》、《秒杀多线程》作者 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄15年 2万+粉丝 157原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值