使用SDL2生成ASCII艺术时出现异常输出的问题求助
使用SDL2生成ASCII艺术时出现异常输出的问题求助
我尝试用SDL2来生成ASCII艺术,但搞不懂为什么会得到这样的异常结果:程序输出里的图像像是被重复了一遍,而且下方还有一大块空白区域。我的原始输入是一张BMP格式的图片,本来期望能转换为正常的ASCII艺术,但现在的效果完全不符合预期。
下面是我用来在控制台绘制图像的代码片段:
#define ASCII_WIDTH 130 #define ASCII_HEIGHT 100 int asciiArt(SDL_Surface* image) { if(image == NULL) return 0; SDL_Surface *imgResized = SDL_CreateRGBSurface(0, ASCII_WIDTH, ASCII_HEIGHT, 32, 0, 0, 0, 0); if(imgResized == NULL) return 0; // 后续应该还有图像缩放、灰度转换、ASCII字符映射等逻辑 }
我感觉代码的逻辑是正确的,但就是出现了这种重复和空白的奇怪情况,有没有大佬能帮我分析一下可能的问题出在哪里?
备注:内容来源于stack exchange,提问作者user23309594
相关产品推荐
相关产品推荐

