我试图达到ASCII艺术的效果,但它无法正常工作。该代码应该创建" Visual Grammar"在字母" VG"。似乎没有错误并且显示输出,但它只包含几行字母。它没有创建任何图像。知道可能出了什么问题吗?
package visualgrammar;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
public class Vg {
public static void main(String[] args) {
int width = 150;
int height = 30;
BufferedImage image = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB);
Graphics a = image.getGraphics();
a.setFont(new Font("SansSerif", Font.BOLD, 24));
Graphics2D a2 = (Graphics2D) a;
a2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
a2.drawString("VISUAL GRAMMAR", 10, 20);
for (int y = 0; y < height; y++) {
StringBuilder builder = new StringBuilder();
for (int x = 0; x < width; x++) {
builder.append(image.getRGB(x, y) == -16777216 ? "" : "V");
}
System.out.println(builder);
}
}
}
答案 0 :(得分:0)
现在,您只输出V字符,但不输出G字符。
所以改变这一行
const HitSlopHelperComponent = ({
children: React.Node,
width: String,
height: String,
onMouseEnter?: Function,
onMouseLeave?: Function}) => ()
到这个
builder.append(image.getRGB(x, y) == -16777216 ? "" : "V");
这看起来更像是有用的,它看起来像&#34; VISUAL GR&#34; &#34; A&#34;。
所以你需要更多的宽度。 250看起来对我有点好。 builder.append(image.getRGB(x, y) == -16777216 ? "G" : "V");