头文件graphics.h
void far initgraph(int far *graphdriver, int far *graphmode, char far *pathtodriver)
一般使用方法initgraph(300,500);生成300*500即(宽*高)的图形
功能: 函数putimage()将一个先前保存在内存中的图像输出到屏幕上。
用法: 此函数调用方式为void putimage(int left,int top,void *buf,int ops);
说明: 参数(left,top)为输出屏幕图像的左上角,即输出图像的起始位置。buf指向要输出的内存中图像。参数ops控制图像以何种方式输出到屏幕上。一般只用前三个参数。表1-13给出了图像输出方式。
| 输出方式符号名 | 取值 | 含 义 |
| COPY_PUT | 0 | 图像输出到屏幕上,取代原有图像 |
| XOR_PUT | 1 | 图像和原有像素作异或运算 |
| OR_PUT | 2 | 图像和原有像素作或运算 |
| AND_PUT | 3 | 图像和原有像素作与运算 |
| NOT_PUT | 4 | 把求反的位图像输出到屏幕上 |
1) COPY_PUT输出方式
图像中每个像素都直接绘制到屏幕上,取代原有图像像素,包括空白的图像像素(背景)。完全空白的图像可以用来擦除其它图像或屏幕的一部分。但通常选择xOR_PUT输出方式擦除原有图像。
2)XOR_PUT输出方式
原有屏幕每个像素与相应的图像字节作“异或”运算,其结果画到屏幕上。当某一图像和屏幕上原有图像作“异或”运算时,屏幕显示的是两个图像的合成。若相同的图像作异或运算,将有效地擦除该图像,留下原始屏幕。这种输出方式,对动画制作是非常有用的。
3)OR_PUT输出方式
每个图像字节和相应的屏幕像素作“或”运算,再将结果画到屏幕上,这种输出方式也叫“两者取一”。记住,像素中的每位和图像中的每位作“或”运算,这样所得结果是背景和图像的彩色合成图像。
4)AND_PUT输出方式
选择AND_PUT图像输出方式时,屏幕像素和图像字节中都显示的位,运算后仍显示,例如,星图像中的空白背景擦除了方块轮廓以及填充色,只有星图像复盖着的方块留下,即运算后,显示两者相同的图像。
5)NOT_PUT输出方式
NOT_PUT输出方式,除了把图像的每位求反---图像中所有黑的像素(0000)变成了白色(1111),其它方面与COPy_PUT相同。背景图像被重画后将消失。
2.loadimage()
loadImage()是一种函数,功能是装载图标,光标,或位图。支持bmp,jpg,gif,emf,wmf,ico格式
// 从图片文件获取图像
void loadimage(
IMAGE* pDstImg, // 保存图像的 IMAGE 对象指针
LPCTSTR pImgFile, // 图片文件名
int nWidth = 0, // 图片的拉伸宽度
int nHeight = 0, // 图片的拉伸高度
bool bResize = false // 是否调整 IMAGE 的大小以适应图片
);
// 从资源文件获取图像
void loadimage(
IMAGE* pDstImg, // 保存图像的 IMAGE 对象指针
LPCTSTR pResType, // 资源类型
LPCTSTR pResName, // 资源名称
int nWidth = 0, // 图片的拉伸宽度
int nHeight = 0, // 图片的拉伸高度
bool bResize = false // 是否调整 IMAGE 的大小以适应图片
);
本文介绍了在VS环境下使用easyX库中的loadimage和putimage函数。loadimage用于加载bmp、jpg等格式的图像,putimage则用于将内存中的图像输出到屏幕,支持COPY_PUT、XOR_PUT等多种输出方式,适用于图形绘制和动画制作。

被折叠的 条评论
为什么被折叠?



