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

windows基础编程----第七篇(位图的输出) 这一篇来说说位图的输出。相信大家对背景图片都不陌生,这也是游戏的必要元素了。 阅读详情

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

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

  

    位图显示特效是大一时刚接触Windows VC++编程时作为练习作业写的,当时觉得一个简单至极的BitBlt函数居然也能和动画扯上关系,确实很有创意^_^(大一太菜了)。呵呵,转眼之间都要毕业,现在整理出来,供大家娱乐娱乐。

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/8696720)

垂直交错(图片不能打开,请访问http://blog.youkuaiyun.com/morewindows/article/details/8696720)

       在程序设计上,水平交错只要将图像分为奇数行和偶数行,然后一个从上到下,一个从下到上逐渐显示出来即可。垂直交错只要将图像分为奇数列和偶数列,然后一个从左到右,一个从右到左逐渐显示出来即可。

       下面给出代码:

// 交错 - 水平
//《Windows界面编程第九篇 位图显示特效 交错效果》
//http://blog.youkuaiyun.com/morewindows/article/details/8696720
void AnimateDraw_StaggeredHorizontal(HDC hdc, HDC hdcMem, int nWidth, int nHeight, UINT nIntervalTime = 10)
{
	int i, j;
	for (i = 0;i <= nHeight; i += 2) 
	{
		for (j = i; j > 0; j -= 2)
		{
			// 奇数行 从上往下
			BitBlt(hdc, 0, j - 1, nWidth, 1, hdcMem, 0, nHeight - (i - j - 1), SRCCOPY);
			// 偶数行 从下往上
			BitBlt(hdc, 0, nHeight - j, nWidth, 1, hdcMem,	0, i - j, SRCCOPY); 
		} 
		Sleep(nIntervalTime); 
	}
	BitBlt(hdc, 0, 0, nWidth, nHeight, hdcMem, 0, 0, SRCCOPY);
}

// 交错 - 垂直
//《Windows界面编程第九篇 位图显示特效 交错效果》
//http://blog.youkuaiyun.com/morewindows/article/details/8696720
void AnimateDraw_StaggeredVertical(HDC hdc, HDC hdcMem, int nWidth, int nHeight, UINT nIntervalTime = 10)
{
	int i, j;
	for (i = 0; i <= nWidth; i += 2) 
	{
		for (j = i; j > 0; j -= 2)
		{
			// 奇数列 从左往右
			BitBlt(hdc, j - 1, 0, 1, nHeight, hdcMem, nWidth - (i - j - 1), 0, SRCCOPY);
			// 偶数行 从右往左
			BitBlt(hdc, nWidth - j, 0, 1, nHeight, hdcMem, i - j, 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/8696722

 

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

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

 

 

 

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

相关推荐

Saturn PCB Toolkit V8.02 实战:5分钟完成10A电源路径的走线与过孔通流验证

本文详细介绍了如何使用Saturn PCB Toolkit V8.02快速验证10A电源路径的走线与过孔通流能力。通过实战案例和参数配置指南,帮助工程师解决大电流PCB设计中的温升失控、过孔瓶颈等核心挑战,提升设计效率和可靠性。

weixin_34194829的博客 450

GDI+——常用的图像处理技术(二)

目录 实现垂直百叶窗效果。 水平交错显示图像 纹理效果展示 实现浮雕效果 实现胶片效果 实现积木效果 柔化效果显示图片 实现垂直百叶窗效果。 原理:将图像分成若干个区域,各个区月以一种渐进的方式逐渐显示,效果就像百叶窗翻动一样。主要用到了Bitmap类的GetRixel和SetPixel方法,获取和设置图像中指定像素的颜色,然后使用Refresh方法重新刷新窗体背景。 private void button1_Click(object sender, EventArgs...

AI浩 5760

LTR-390UV-01对比VEML6075:5个真实项目中的选型避坑指南

本文对比了LTR-390UV-01和VEML6075两款环境光传感器在5个真实项目中的表现,提供了选型避坑指南。通过智能手环、农业温室、紫外线消毒柜等场景的实测数据,分析了动态范围、抗干扰性、温度稳定性等关键差异,帮助开发者在成本与性能间做出最优选择。

weixin_28733777的博客 219

C#可视化Windows窗体应用程序(两个窗体的显示与隐藏)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace program02 { public partial class Form1 : Form {

qq_54241971的博客 1232

Abaqus6.14.4 Linux详细图文安装教程

Abaqus6.14.4 Linux详细图文安装教程 20170409 1. 准备安装环境 1.1 安装CentOS 6.5,更新库 1.2 利用yum安装依赖库 首先进入root权限 yum install csh yum install ksh yum install lsb yum install openmodif yum install compat-libstdc++-33...

snuhxm的博客 7842

[arcgis插件]在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面

在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面。

坐听风雨 4561

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

转载请标明出处,原文地址:http://blog.youkuaiyun.com/morewindows/article/details/8696726 欢迎关注微博:http://weibo.com/MoreWindows Windows界面编程之位图显示特效系列目录: 1. 《Windows界面编程第九篇位图显示特效交错效果》 http://blog.youkuaiyun.com/morewindows/article...

haierboos 251

避坑指南:将大华官方Java SDK无缝迁移到SpringBoot 2.x项目的完整流程

本文详细介绍了如何将大华官方Java SDK无缝迁移到SpringBoot 2.x项目,重点解决内存管理、连接池设计和异步处理等核心问题。通过设备连接池化、异步非阻塞接口改造和内存管理优化,实现刷卡、刷脸等认证功能的高效整合,提升Web服务的稳定性和性能。

weixin_42557830的博客 416

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

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

ffygvf的博客 244

HTML音乐爱心3D旋转相册完整源码

HTML音乐爱心3D旋转相册完整源码

LilyCoder的博客 1379

TC3XX - MCAL知识点(四十二):AURIX™ TC3xx实现多相电机需要多核配合使用的场景与实操分析

本文探讨了多相电机控制系统中的关键技术问题,重点分析了多核处理器在电机控制中的应用。针对十二相电机等复杂应用场景,提出了同步采样、多核协同等解决方案。文章详细阐述了相电流同步采样原理及EBTresos配置方法,分析了ADC硬件触发机制和多核配合策略。通过Core0和Core1的协同工作设计,解决了位置信息采集与FOC算法执行的时序问题,并提供了代码实现示例。实验验证了采用ATOM0_7同时触发两个核ADC中断的可行性,为多相电机控制系统的实现提供了技术参考。

梦想技术家 497

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

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

ffygvf的博客 128

YOLOv11【第三章:高阶应用与落地篇·第1节】一文搞懂,YOLOv11-Seg 实例分割:Mask 原型生成与系数预测原理解析!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 1248

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

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

ffygvf的博客 180

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: 两个常见位操作面试题 不用加减乘除运算符计算两数之和及a=b*3
下一篇: Windows界面编程第十篇 位图显示特效 百叶窗效果
MoreWindows
MoreWindows 《白话经典算法》、《秒杀多线程》作者 《白话经典算法》、《秒杀多线程》作者 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄15年 2万+粉丝 157原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值