有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java缓冲图像中较小的图像被裁剪,我如何解决这个问题?

我是java新手,正在编写一个程序,根据上传的实际图像创建ASCII图像

它的工作方式是;我有一个大图像,为每个角色制作了一个尺寸相同的图像,这样它就可以代表一个像素。图像通过上传的图像x轴和y轴循环进行转换,在x轴和y轴上读取每个像素的灰度,并将正确的图像放置在相应的坐标中。我还有一个缩放选项,角色图像可以代表更大的像素区域

在右坐标处绘制等尺寸的现成字符图像的代码是:

//closestChar is an object that contains the character, it's drawn image and the character dimensions
drawing.drawImage(closestChar.getCharacterImage(), (int)Math.round((i/width) * closestChar.getCharImageHeight()),
                            (int)Math.round((j/height) * closestChar.getCharImageHeight()),null);

大多数情况下,这很好,但是当我试图调整图像中的比例,以便在x轴和y轴上代表灰度的字符图像较少时,图像往往会像图像中的示例那样被裁剪。像B这样的字符从顶部裁剪,像@这样的字符从侧面裁剪。但每个角色图像都有相同的宽度和高度,我确保最大的角色适合这些尺寸

与图像的尺寸相比,这两个轴上的图像是否太少,以至于需要在图像白度重叠的地方拉伸?如果是这样,我该如何解决这个问题

a mario image converted to ascii image that exists of tiny images of letters


共 (0) 个答案