gpt4 book ai didi

java - 来自字符串的缓冲图像

转载 作者:行者123 更新时间:2023-11-30 06:13:49 25 4
gpt4 key购买 nike

我正在尝试基于字符串创建图像,并在新行上分配 RGB 颜色值。但无论出于何种原因,像素被放置在错误的位置,从而形成了这种奇怪的 V 形图案。显然,问题在于我如何增加值,但我似乎找不到问题。

我还通过多种不同的方式确认了该字符串没有任何问题

Chevron pattern I was talking about

  static void AddPixels(String Data){
Scanner Scan = new Scanner(Data);

ArrayList<Integer> Table = new ArrayList<>();

while (Scan.hasNextLine() && !(XCount == XTotal)){
Scanner LineScan = new Scanner(Scan.nextLine());
while (LineScan.hasNext()){
Table.add(LineScan.nextInt());
}
if (Table.size() == 3){
Image.setRGB(XCount,YCount, new Color(Table.get(0),Table.get(1),Table.get(2),255).getRGB());
}
else{
Image.setRGB(XCount,YCount, new Color(0,0,0,0).getRGB());
}
Table.clear();
YCount++;
if (YCount == YTotal){
YCount = 0;
XCount++;
System.out.println(Math.floor(((double)XCount/XTotal)*100));
}
}
//System.out.println("Finished");
if (XCount >= XTotal){
System.out.println("Runnin");
try{
File ImageFile = new File("TestImage.png");
ImageIO.write(Image, "png", ImageFile);
}
catch(IOException e)
{
System.out.println("Error: " + e);
}
}

}

最佳答案

每次循环时(对于 R、G 和 B),您都会更新 y 坐标,并用 2/3 的时间绘制黑色像素(中的 else block )您的代码)。

如果我正确理解您的问题陈述,该文件如下所示:

200
100
0

其中对于每个像素,200 是 R 值,100 是 B 值,0 是 G 值。

如果是这种情况,您只需从文件中读取的每三个值更新一次 Y 值 - 并且根本不绘制黑色像素。

关于java - 来自字符串的缓冲图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49663063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com