SDL2:将图像另存为 png 错误
Posted
技术标签:
【中文标题】SDL2:将图像另存为 png 错误【英文标题】:SDL2: saving image as png error 【发布时间】:2014-05-10 23:40:35 【问题描述】:我正在尝试制作二维地图编辑器。现在,如果我的地图完成了,我想保存它。
我试过这个:
IMG_SavePNG(SDL_GetWindowSurface(window), "C:/Users/<MY_NAME>/Desktop");
但什么也没发生。没有图像被保存,也没有错误。
这是我的窗口的创建:
SDL_Window* window = SDL_CreateWindow("Famonex", 100, 100, WINDOW_WIDTH, WINDOW_HEIGHT, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE);
这是我的内容:
#include <SDL.h>
#include <SDL_image.h>
#include <SDL_mixer.h>
【问题讨论】:
你确定这个编译正确吗?粗略搜索IMG_SavePNG
表明您忘记了第三个参数:“.. 采用文件名、要保存的表面和压缩级别。压缩级别可以是 0(min) 到 9(max),或 -1(默认)。”
没有第三个或第四个参数。
检查SDL_GetWindowSurface的返回值是否为null。还要研究一下您可能必须锁定表面才能使用它。
SDL_GetWindowSurface 不为空。同样当我锁定表面时,仍然是黑色图像。
【参考方案1】:
该死的,我只是在文件路径上失败了。我忘了最后一个字:(filename.png)。
但现在我的图像是全黑的:S.
【讨论】:
以上是关于SDL2:将图像另存为 png 错误的主要内容,如果未能解决你的问题,请参考以下文章
如何通过弹出另存为窗口将 kendo ui dataviz 图表导出为 (.png) 或 (.jpg) 图像格式?