C语言图形化终极
基本贴图
//贴图三部曲
//1.定义一个IMAGE类型的变量 去存储图片
//就和定义一个整型变量一样
//int a;
//a=1;
IMAGE mm;
//2.加载图片:通过路径加载
loadimage(&mm,"路径");
loadimage(&mm,"路径",int w,int h);//w:图片的宽,h:图片的高
//3.显示图片
putimage(int x,int y,&mm);
切割贴图
//加载图片操作是一样
//切割就是一个图片坐标+putimage另一个形态
// 绘制图像(指定宽高和起始位置)
//函数原型:
void putimage(
int dstX, // 绘制位置的 x 坐标
int dstY, // 绘制位置的 y 坐标
int dstWidth, // 绘制的宽度w
int dstHeight, // 绘制的高度h
IMAGE *pSrcImg, // 要绘制的 IMAGE 对象指针,取IMAGE类型变量的地址&mm
int srcX, // 绘制内容在 IMAGE 对象中的左上角 x 坐标sx
int srcY, // 绘制内容在 IMAGE 对象中的左上角 y 坐标sy
);
//1.直接利用putimage进行切割贴图
putimage(x,y.w,h,&mm,sx,sy);
//2.利用getumage和putimage结合进行切割贴图
IMAGE img;
getimage(&img, 0, 0, 100, 100);
putimage(200, 200, &img);
- 可用于做拼图游戏
透明贴图
//贴透明图片 图形库没办法直接贴png
//1.掩码图 SRCAND 贴掩码图 &
//2.背景图 SRCPAINT 贴背景图 ^
#include <graphics.h>
int main()
{
initgraph(800, 800);
IMAGE mm;
loadimage(&mm, "mm.jpg", 800, 800);
putimage(0, 0, &mm);
IMAGE bb;
loadimage(&bb, "xj.png", 100, 100);
putimage(200, 200, &bb);
IMAGE xj[2];
//loadimage(xj + 0, "掩码图.jpg", 100, 100);
//putimage(300, 300, xj,SRCAND); //贴掩码图
//loadimage(xj + 1, "背景图.jpg", 100, 100);
//putimage(400, 400, xj+1, SRCPAINT);
putimage(100, 100, xj, SRCAND); //先贴掩码图
putimage(100, 100, xj + 1, SRCPAINT); //背景图
while (1);
closegraph();
return 0;
}