搜索结果 '显示缓冲区'

通过直接操作显示缓冲区实现高速绘图和特殊效果(如逐渐变亮) 铜牌收录 "概述 EasyX 从 2011-2-24 开始,支持了直接操作显示缓冲区的功能。本文介绍一下在 EasyX 中怎样使用“显示缓冲区”。 比如画点,传统的画点函数会受坐标系、缩放、裁剪区等因素影响,导致性能较差。为了实现高速绘图,需要更直接的方法,这就是直接操作显示缓冲区的目的。 理论知识 在 EasyX 中,每个点用 4 个字节表示。对于 640 x 480 的绘图窗口,显示缓冲区的大小为 640 ..." https://codebus.cn/yangw/high-speed-drawing-with-direct-operation-of-display-buffers
艺术字系列:冰封的 EasyX 铜牌收录 这是一个艺术字程序,有一点冰封的效果。程序通过直接操作显示缓冲区,实现了处理速度的提升。程序设置了随机种子,每次执行看到的效果都不完全一样。 https://codebus.cn/yangw/word-art-freeze
烟花 铜牌收录 一个基于物理的烟花小程序,考虑了重力。代码基于 c++ 进行编写的,使用 QueryPerformceCount 进行帧率控制。由于在实现烟花小尾巴时候遍历了一遍屏幕上所有的像素点,虽然使用显示缓冲区进行操作,但是这个循环遍历代价还是很大,所以帧率在我的 cpu i7 7700hq 上,以 1920 * 1080 分辨率一直在 35 帧左右,改成 cleardevice 后能变成100多帧,但是小尾巴没了。虽然小尾巴可以画一连串的颜色渐变亮的小圆表示,但是这样表示我看起来没有对屏幕像素取平均效果好。希望有网友能提供更有效、更好的烟花尾巴解决方案。 https://codebus.cn/sunxiaoyu/fireworks
火焰效果模拟程序 铜牌收录 "模拟火焰效果的程序。 执行效果抓图如下: 通过修改色系,本程序可以实现红色火焰、蓝色火焰、绿色火焰三种效果,在 InitFire() 函数中取消相应行注释可以实现不同色系的火焰效果。 完整的源代码如下: /////////////////////////////////////////////////// // 程序名称:火焰模拟程序 // 编译环境:VC6.0 / VC2010,EasyX_2 ..." https://codebus.cn/yangw/fire
自由运动的点(全屏模糊处理的范例) 铜牌收录 "这是个有趣的程序,同时是一个全屏模糊处理的范例。 其中,点的非直线自由运动的部分,是用的我在高中时候用 QuickBasic 实现的一种简单方法,看到这部分代码有点让人怀念过去。 简单说明一下: 为了使范例更清晰,全屏模糊处理的代码我做了简化,将第一行和最后一行忽略掉了。通过代码可以清晰地看到,所谓全屏模糊,其实就是对每个点与相邻的几个点的颜色做平均处理(可以自己决定每个点的权重)。 这个模糊 ..." https://codebus.cn/yangw/free-dots
快速画点的原理简述,以及写一个自己的快速画点函数 铜牌收录 "EasyX 自带的 putpixel 函数源自 Windows GDI 函数 SetPixel,由于要考虑裁剪区、缩放、原点坐标、坐标方向等等诸多因素,所以性能很低,在一些只要求速度的场合很不实用。这篇文章就教你写一个自己的画点函数。 总的思想,是通过直接操作显示缓冲区来避免额外的运算。 在 EasyX 绘图窗口的显示缓冲区中,每个点占用 4 个字节,用 DWORD 指针指向显示缓冲区就可以像一维 ..." https://codebus.cn/yangw/fast-putpixel
随机街道闪电效果 铜牌收录 "想起之前看的一部鬼片,里面闪电效果和BGM营造了一种阴森恐怖的气氛。所以,突然想试试用简约的风格绘出这样的气氛。 目标:绘画出 简单的随机街道 , 街道上空出现 各种形态的闪电 , 并实现街道在闪电时的 闪光变化 效果动态图: 代码如下: /************************************************************ * 程序名称: 随机街道闪电效果 ..." https://codebus.cn/featherstar/random-lightning
[图像处理] 将图片转换为马赛克效果 铜牌收录 "这个程序将图片转换为马赛克效果。 算法原理:求出每个小方块内所有像素的颜色平均值,然后用来设置为该小方块的颜色。依次处理每个小方块,即可实现马赛克效果。 完整代码如下: ///////////////////////////////////////////////////////// // 程序名称:将图片转换为马赛克效果 // 编译环境:Visual C++ 6.0 / 2010,EasyX_2 ..." https://codebus.cn/zhaoh/mosaic-filter
[图像处理] 彩色图片转化成底片效果 铜牌收录 "这个程序实现将图片转化成底片效果。 底片效果使用如下公式: R = 0xFF - GetRValue(pMem[i]); G = 0xFF - GetGValue(pMem[i]); B = 0xFF - GetBValue(pMem[i]); 完整代码如下: ///////////////////////////////////////////////////////// // 程序名称:底 ..." https://codebus.cn/zhaoh/invert-filter
[图像处理] 彩色图像转换为灰度图像 铜牌收录 "这个程序实现将彩色图像转换为灰度图像。 彩色转换为灰度使用如下公式: Gray = R * 0.299 + G * 0.587 + B * 0.114 为了提高运算速度,将这个公式转换为整数运算: Gray = (R * 229 + G * 587 + B * 114 + 500) / 1000 为了提高运算速度的方法还有很多,这里作为演示,不再详述。 完整代码如下: ////////// ..." https://codebus.cn/zhaoh/gray-filter
支持 Alpha 信息图片最近邻内插 铜牌收录 我发现 EasyX 图形库上用图像缩放后是模糊的。本文使用了最近邻内插方法,实现放大像素图像,可以使图像缩放保持清晰的像素效果。 https://codebus.cn/beanflame/nearest-neighbor-interpolation
支持 Alpha 信息图片旋转(旋转后自动适应大小) 铜牌收录 由于 EasyX 图形库中的 rotateimage 函数没有考虑关于 alpha 信息的问题,使旋转后的贴图 alpha 信息失真。为了满足自己的需求,本人手动写 rotateimage 函数,解决了该问题。 https://codebus.cn/lostperson/rotate
贪婪球(by 奶酪) 铜牌收录 "这是模仿球球大作战写的小游戏,有食物、敌人、外面的毒圈。 操作很简单,用 A S D W 四个键控制球的移动方向。 地图大小是屏幕的16倍,吃完所有敌人就胜利。记住不要被敌人吃掉哦! 想和我交流的可以加我 QQ:2190038793 贪婪球 2.0 做了许多升级,详见这里:https://codebus.cn/contributor/post/greedy-ball-2 执行效果如下: 完整的 ..." https://codebus.cn/contributor/greedy-ball