问题描述
我是 Java 新手,正在编写一个程序,根据上传的实际图像创建 ASCII 图像。
它的工作方式是;我有一个大图像,并为每个字符制作了一个具有相同尺寸的图像,因此它可以表示一个像素。通过循环上传图像的 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 等字符从顶部裁剪,@ 等字符从侧面裁剪。但是每个字符图像都有相同的宽度和高度,我确保最大的字符适合这些尺寸。
与图像的尺寸相比,这两个轴上的图像太少,需要在图像的白度重叠的地方拉伸?如果是这样,我该如何解决这个问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)