GetImageBuffer
这个函数用于获取绘图设备的显示缓冲区指针。
DWORD* GetImageBuffer(IMAGE* pImg = NULL);
参数
pImg
绘图设备指针。如果为 NULL,表示默认的绘图窗口。
返回值
返回绘图设备的显示缓冲区指针。
备注
获取到的显示缓冲区指针可以直接读写。
在显示缓冲区中,每个点占用 4 个字节,因此:显示缓冲区的大小 = 宽度 × 高度 × 4 (字节)。像素点在显示缓冲区中按照从左到右、从上向下的顺序依次排列。访问显示缓冲区请勿越界,否则会造成难以预料的后果。
显示缓冲区中的每个点对应 RGBTRIPLE 类型的结构体:
struct RGBTRIPLE {BYTE rgbtBlue;BYTE rgbtGreen;BYTE rgbtRed;
}
RGBTRIPLE 在内存中的表示形式为:0xrrggbb (bb=蓝,gg=绿,rr=红),而常用的 COLORREF 在内存中的表示形式为:0xbbggrr。注意,两者的红色和蓝色是相反的,请用 BGR 宏交换红色和蓝色。
如果操作绘图窗口的显示缓冲区,请在操作完毕后,执行 FlushBatchDraw() 使操作生效。
示例
以下代码通过直接操作显示缓冲区绘制渐变的蓝色:
#include <graphics.h>
#include <conio.h>int main()
{// 初始化绘图窗口initgraph(640, 480);// 获取指向显示缓冲区的指针DWORD* pMem = GetImageBuffer();// 直接对显示缓冲区赋值for(int i = 0; i < 640 * 480; i++)pMem[i] = BGR(RGB(0, 0, i * 256 / (640 * 480) ));// 使显示缓冲区生效(注:操作指向 IMAGE 的显示缓冲区不需要这条语句)FlushBatchDraw();// 按任意键退出_getch();closegraph();
}
GetImageBuffer相关推荐
- 调用海康工业相机图像获取方式之主动取流(getimagebuffer )
本文仅作记录!原文链接!:https://blog.csdn.net/qq_39570716/article/details/114304110 目录 一.使用前提 二.主动取流(官方例程说明) 1. ...
- C++五子棋(二)——游戏界面与棋子渲染
准备 我们首先要在程序中定义一个名为drawPNG的函数,用于输出png格式图片并使背景透明 引入头文件(需要提前安装EasyX) #include <graphics.h> 定义函数 d ...
- Easyx项目小合集
这好像是很早之前,在官网找的项目 目录 项目名称: 迷宫 项目名称: 打雷风景 项目名称: 烟花 项目名称: 迷宫 #include <graphics.h> #include <t ...
- C++ 流体效果的实现
需要图形库graphics.h 到eaxyx官网上下载安装即可 #include <graphics.h> #include <math.h> #include <tim ...
- c语言烟花百度云,C语言实现放烟花的程序
这是一个利用C语言编写放烟花的程序(同时也可以播放音乐),供大家参考,具体内容如下 代码如下 #pragma once #include #include //图形界面库头文件 #include // ...
- C语言和图形界面编程打造——浪漫的表白程序
谁说程序员不浪漫???来来来一起打造一个浪漫的表白程序,配上好听的音乐,瞬间高大上. 下面,发下代码吧,昨天的愤怒的小鸟推箱子版本的没发,今天发这个,,,简单的C语言和easyx一起打造浪漫的程序附带 ...
- C语言项目:水波纹效果实现
今天教大家一个比较简单的C语言程序,通过用easyx库实现的水波纹效果.说到这里可能大家对水波纹似懂非懂,那么你肯定玩过这游戏吧! 编辑 打水漂 我们捡一块扁平的小石头或者瓦片,角度稍微倾斜的甩出去, ...
- C语言用循环写出新年祝福语图案,非常漂亮的新年祝福!C语言实现漂亮的烟花效果...
本文实例为大家分享了C语言实现漂亮的烟花效果展示的具体代码,供大家参考,具体内容如下 程序名称:祝福烟花,祝福朋友 编译环境:VC++6.0 && easyx(立冬版) #includ ...
- c++语言表白超炫图形_C/C++图形界面编程打造——浪漫的表白程序!
谁说程序员不浪漫???来来来一起打造一个浪漫的表白程序,配上好听的音乐,瞬间高大上. 下面,发下代码吧,昨天的愤怒的小鸟推箱子版本的没发,今天发这个,,,简单的C语言和easyx一起打造浪漫的程序附带 ...
最新文章
- 只读域控制器RODC的安装
- 年底了,游戏大作连连
- 【PL/SQL】学习笔记 (7)光标的属性,一个会话中打开光标数的限制
- Unity3D-InstantOC遮挡剔除
- 非对称加密, 助记词, PIN, WIF
- oracle+solaris+密码,Oracle Solaris 10回滚补丁文件密码哈希泄露漏洞
- python玩我的世界盒子_省培预存|编程教学建议第一辑“教材分层次梳理”
- 靠知识赚钱只是较高级的体力劳动,靠智慧赚钱才能真正的富有。
- java 内存分布_java的各类型数据在内存中分配情况详解_
- 【重点】Batch Normalization的诅咒
- background-color:#e5eecc; border:solid 1px #c3c3c3;
- ViewFlipper使用详解
- 中文编程专栏目录, 初衷和希冀
- 2012年7月份第1周51Aspx源码发布详情
- 用Matlab筛选mirbase,一种基于miRBase数据库的无参的miRNA数据分析方法与流程
- 阿里玄难:面向不确定性的软件设计几点思考
- 机房收费系统问题集(2)——移动登陆界面+show出子窗体
- python 字体颜色改变
- ubuntu安装NVIDIA显卡驱动(简单有效)
- 为什么要给网桥分配IP地址