艾特商业网

BMP格式图片如何没背景(bmp格式图片)

更新时间:2023-10-22 17:41:05

导读 你们好,最近小艾特发现有诸多的小伙伴们对于BMP格式图片如何没背景,bmp格式图片这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往

你们好,最近小艾特发现有诸多的小伙伴们对于BMP格式图片如何没背景,bmp格式图片这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、 首先,加载这张图片“问号。bmp”放入内存。使用函数SDL_LoadBMP,函数参数是一个图片路径字符串,函数返回一个表面指针。

2、 用结构SDL _表面的指针变量表面接受它。

3、 第九行创建了一个SDL _矩形的结构变量框来存储表面的显示坐标和大小。

4、 Surface-w和surface-h分别是曲面的宽度和高度。

5、 Box有四个成员变量,分别是box.x、box.y、box.w和box.h,前两个是曲面的显示坐标,后两个是曲面的显示大小。

6、 这里我把曲面显示在屏幕的左上角,显示坐标(0,0),显示尺寸正好是曲面的原始尺寸。

7、 补充一点:SDL的坐标如下图所示。横轴是X轴,纵轴是Y轴。箭头方向上的X或Y值越大。

8、 如果手机分辨率为1280*720,则右上角坐标为(720,0)。左下角(0,1280)。右下角(720,1280)。中心坐标(720/2,1280/2),即(360,640)。

9、 第十行创建了一个结构为SDL纹理的指针变量。SDL_CreateTextureFromSurface函数从字面上猜测纹理是根据表面创建的。

10、 该函数返回一个SDL _纹理结构的指针变量。

11、 Surface不能直接用在渲染器上,需要转换成纹理,相当于绘画的材质。

12、 第十一行SDL_RenderCopy是将纹理粘贴到渲染器上。函数参数:NULL表示纹理被截取的部分,

13、 这里是全部;框表示窗口上纹理的显示坐标和显示大小。

14、 不要忘记在退出程序前释放内存。

15、 SDL free surface: release surface

16、 SDL _ destroy texture: destroy texture

17、 运行结果

18、 zusammenfassung der Zeichnung:SDL _表面*-SDL _纹理*-SDL _渲染器*-SDL _窗口*

19、 代码:

20、 #includeSDL2/SDL.h

21、 intmain(intargc,char**argv)

22、 {

23、 SDL_Init(SDL_INIT_VIDEO);

24、 SDL _ Window * Window=SDL _ Create a window ('Show extension picture of bitmap file, SDL _ Window position _ center, SDL _ Window position _ center, 720, 1280, SDL _ Window _ display);

25、 SDL_Renderer*renderer=SDL_CreateRenderer(window,-1,SDL_RENDERER_ACCELERATED);

26、 SDL_RenderClear(renderer);

27、 SDL _ surface * surface=SDL _ load BMP (' /resource/question mark. BMP’);

28、 SDL_Rectbox={0,0,surface-w-50,surface-h-50};

29、 SDL_Texture*texture=SDL_CreateTextureFromSurface(renderer,surface);

30、 SDL_RenderCopy(renderer,texture,box,box);

31、 SDL_RenderPresent(renderer);

32、 SDL_Delay(2000);

33、 SDL_FreeSurface(surface);

34、 SDL_DestroyTexture(texture);

35、 SDL_DestroyRenderer(renderer);

36、 SDL_DestroyWindow(window);

37、 SDL_Quit();

38、 }

以上就是bmp格式图片这篇文章的一些介绍,希望对大家有所帮助。

免责声明:本文由用户上传,如有侵权请联系删除!