C语言图形化终极(基本贴图、切割贴图、透明贴图)

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;
}

在这里插入图片描述

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值