使用SDL显示多种图片的格式

本文介绍如何使用SDL和SDL_Image库加载并显示支持背景透明的图片格式,如32位bmp,png和gif。通过示例代码展示了如何在窗口中加载和重复绘制图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单纯的SDL只能显示bmp格式的图片,如果需要显示其他的图片的话,需要借助SDL提供的其他工具SDL_Image,下载地址 http://www.libsdl.org/projects/SDL_image/ 。在各种各样的图片格式中支持透明图片的格式有32位的bmp,png,gif。

#include "SDL.h"
#include "SDL_image.h"
int main(int argc, char* argv[])
{
	SDL_Init(SDL_INIT_VIDEO);
	SDL_Window* window = SDL_CreateWindow("Tutorial", 100, 100,
		600, 600, SDL_WINDOW_SHOWN);
	
	//3.支持背景透明的图片格式,32位的bmp, png, gif
	SDL_Surface* surface = SDL_GetWindowSurface(window);
	SDL_Surface* picture = IMG_Load("C:\\Users\\xxxxx\\Desktop\\1.jpg");
	SDL_Rect rect;
	rect.x = 0;
	rect.y = 0;

	int i;
	for (i = 0; i < 10;++i)
	{
		SDL_BlitSurface(picture, NULL, surface, &rect);
		rect.x = rect.x + 100;
	}
	SDL_UpdateWindowSurface(window);
	
	SDL_Delay(4000);
	SDL_FreeSurface(picture);
	SDL_FreeSurface(surface);
	SDL_DestroyWindow(window);
	SDL_Quit();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值