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) 图像格式?

旋转 persp3d 绘图并将图像另存为 png

SDL2 错误:使用 pyinstaller 冻结 kivy 应用程序时“无法加载图像 <default.png>”

将颜色条图另存为图像文件

将 HTML 表格另存为图像

如何在 BufferedImage 中使颜色透明并另存为 PNG