不能"#34;画"在图像文件上以呈现功能

时间:2015-01-17 00:41:22

标签: java

我现在正在使用函数渲染,它基本上为函数赋值并“绘制”图像中的相应像素。出于某种原因,生成了图像,但它绝对是空白的。有什么想法吗?

public class Main {

    public static void main(String[] args) {

        BufferedImage bi = new BufferedImage(500, 250,
                BufferedImage.TYPE_INT_ARGB);

        for (int x = -100; x <= 100; x++) {

            try {
                int y = f(x);

                bi.setRGB(xconverter(x), yconverter(y), 0);
                System.out.println("f(" + x + ") = " + y);
            } catch (Exception e) {

            }

        }

        try {
            File f = new File("/home/pitazzo/Escritorio/Final.png");
            ImageIO.write(bi, "png", f);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    public static int xconverter(int x) {
        return x + 250;
    }

    public static int yconverter(int y) {
        return y + 125;
    }

    public static int f(int x) {

        return ((x * x) + (7 * x) - 2) / (x + 18);
    }

}

提前致谢:D

1 个答案:

答案 0 :(得分:0)

问题在于颜色:

bi.setRGB(xconverter(x), yconverter(y), 0);

0表示0 alpha,0表示红色,0表示绿色,0表示蓝色。而0 alpha意味着透明 - 哎呀!您需要使用不透明的颜色(0xFF alpha)。

使用此:

bi.setRGB(xconverter(x), yconverter(y), 0xFF_00_00_00); // Black