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

C#实现积木效果显示图像(附完整源码) 阅读详情

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

欢迎关注微博: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/8696724):

      在程序设计上,随机积木效果是最简单的啦,只要一格一格的显示出整个位置即可:

// 随机积木
//《Windows界面编程第十一篇 位图显示特效 随机积木效果》
//http://blog.youkuaiyun.com/morewindows/article/details/8696724
void AnimateDraw_RandomBlocks(HDC hdc, HDC hdcMem, int nWidth, int nHeight, UINT nIntervalTime = 15,
							  int nRowBlocks = 10, int nColBlocks = 10)
{
	int nStepRow, nStepCol, nDisplayCount;
	int nSumBlocks = nRowBlocks * nColBlocks;
	bool *pFlagArray = new bool[nSumBlocks];
	memset(pFlagArray, 0, sizeof(bool) * nSumBlocks);

	nStepRow = nWidth / nRowBlocks;
	nStepCol = nHeight / nColBlocks;
	srand((unsigned)time(NULL));
	nDisplayCount = 0; //已显示方格个数
	while (true) 
	{ 
		int row = rand() % nRowBlocks; 
		int col = rand() % nColBlocks; 
		if (pFlagArray[row * nColBlocks + col]) 
			continue;
		pFlagArray[row * nColBlocks + col] = true;

		BitBlt(hdc, row * nStepRow, col * nStepCol, nStepRow, nStepCol, 
			hdcMem, row * nStepRow, col * nStepCol, SRCCOPY);
		nDisplayCount++;
		if (nDisplayCount >= nSumBlocks)
			break;
		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/8696726

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

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

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

相关推荐

Winform全屏屏保图片轮播

winform全屏屏保,和windows差不多,切换无特效,不是向左滑动。

winform控件动态布局显示

项目中需要实现这样一个功能,用winform做一个客户端软件,首页上有4个模块(通过4个panel实现),这4个模块需要通过配置来动态显示其中的一个或多个,很显然我们都知道这有2的4次方,也就是16种组合,去掉一种0的状态,也就是15种排列方式。 假设这4个模块分别为A、B、C、 D 那15种组合就是:A,B,C,D,AB,AC,AD,BC,BD,CD,ABC,ABD,ACD,BCD,ABCD 方法一: 我们把这15种排列一个一个罗列出来,这样简单明了,不会把自己绕进去,就是需要写15个if而已,具体就不写

cslover的博客 1191

编译CycloneDDS和CycloneDDS-CXX踩过的坑——CMake Error at CMakeLists.txt:227 (find_package):

最近编译CycloneDDS和CycloneDDS-CXX踩了两个坑,花了不少时间。做个简单的记录,免得以后又踩到。注意:CycloneDDS-CXX编译依赖CycloneDDS,因此必须先编译CycloneDDS需要严格按照步骤进行,否则要入坑步骤如下,1先编译CycloneDDS以上步骤完成CycloneDDS的编译和安装,生成的bin include lib等位于install目录下面。

usstmiracle的博客 1900

Winform软件开发框架,Winform快速开发平台推荐

WinForm(Windows Forms)是 Microsoft 提供的一种 GUI 框架,适合开发 Windows 桌面应用程序。它内置了拖放式 UI 设计器和丰富的控件库,特别适合快速应用程序开发(RAD)。

likuoelie的博客 1899

从5V降到3.3V,你的LDO到底有多烫?手把手算功耗、选散热,避开这些坑

本文详细解析了LDO在5V转3.3V电路中的发热问题,提供了精确的功耗计算公式和散热设计方法。通过对比不同封装的热阻参数和优化PCB布局,帮助工程师有效降低LDO温度,避免热保护触发。文章还探讨了替代方案的技术拐点,为电源系统优化设计提供实用指导。

weixin_30304375的博客 434

多周期路径及set_multicycle_path详解

默认情况下,每条路径都被定义为单周期,即源触发器在时钟的任一边沿启动(launch)的数据都应该由目的触发器在时钟的下一上升沿捕获(capture)。 有的设计需要在数据被捕获前提供一些额外的周期,这类路径被称为多周期路径。 一、set_multicycle_path命令 命令格式如下: set_multicycle_path .........

Jackiezhang1993的博客 4万+

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

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

ffygvf的博客 128

Java对接快递鸟,查询快递物流信息

根据用户输入的订单号,我们的后台识别订单号并根据快递鸟查询快递API接口,实现自动查询的功能。下面是java版本的根据单号查询物流跟踪信息的详细示例代码。只需要下载就可以运行,(自己需要简单的修改)注:登录快递鸟用户管理后台后获得。登录快递鸟用户管理后台。

Roc的博客 957

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

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

ffygvf的博客 206

OpenClaw三层记忆系统:让你的AI助理记住你的习惯,越用越顺手

对于更早的、已经移出滑动窗口的对话内容,我们没有直接丢弃,而是用大模型做摘要压缩,只保留核心信息,然后把摘要存入短期会话记忆的末尾,或者长期用户记忆。比如,10轮之前的对话内容,我们会压缩成:“用户之前查询了仓山万达店4月1日-4月7日的库存数据,对报表的要求是纯文本,不要Markdown”,既保留了核心信息,又不会占用太多上下文窗口。如果说Agent的执行链路是AI的“骨架”,工具调用体系是AI的“手脚”,那么记忆系统就是AI的“大脑”

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 378

37、免驱动USB双目同步测距3D活体深度检测和RV1126结合V4L开发USB摄像头使用

基本思想:需要使用双目摄像头在rv1126上进行活体检测,然后将画面实时返回到桌面上,记录一下。第二步:刷机rv1126开发板系统和ssh远程连接,见参考目录。第一步:购买可见光的红外摄像头,见参考连接,在PC端测试可用。

sxj731533730 2620

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

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

ffygvf的博客 222

指纹浏览器指纹工厂(下):基于真实设备数据特征的马尔可夫链生成与校验

本文揭示了静态指纹生成算法在高级风控时序追踪下的致命缺陷,指出违背设备演进马尔可夫性质(如无状态跳跃、因果断裂)是导致指纹存活率骤降的核心原因。通过分析风控系统的时序状态机与多维特征验证机制,提出基于隐马尔可夫模型(HMM)的动态指纹架构:以真实设备的状态转移链为蓝本,构建异步演进的“数字基因熔炉”,通过非均匀时间步长、突发事件响应及微观因果绑定,模拟软硬件独立更新的物理法则。最终实现指纹在时间维度与微观特征上的自洽,规避风控的时序陷阱。

数据知道的博客 416

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

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

ffygvf的博客 180

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 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、付费专栏及课程。

余额充值