如何用java写全黑图片
补充:import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
public class Test extends JFrame {
Image im=null;
int[] a=new int[100*100];
Panel p=null;
public static void main(String[] args) {
Test test=new Test();
}
//构造方法
public Test()
{
p=new Panel();
this.add(p);
//设置默认的RGB格式
ColorModel cm=ColorModel.getRGBdefault();
//初始化a
int x=0;
for(int i=0;i<100;i++)
{
for(int j=0;j<100;j++)
{
a[i*100+j]=255<<24|x<<16|x<<8|x;
}
}
ImageProducer ip=new MemoryImageSource(100,100,a,0,100);
im=createImage(ip);
this.setSize(400,400);
this.setLocation(20, 20);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void paint(Graphics g)
{
g.drawImage(im,5,5,this);
}
}
追问:谢谢!我没说清楚,其实我想问的是一幅图片读入计算机之后,每个像素点是以int型存储,整幅图片会是一个int [] pixels 数组。现在我想用一个int [] pixels 矩阵,来创建一个图片,比如全黑图片的话,alpha值设为255,红,绿,蓝分别设为0。理论上如果把这个矩阵创建成图片,然后在panel上画出来,就可以出现黑色图片。但我尝试了很多次都没成功。呵呵,不知道我讲清楚没,java我没看多久,做毕业设计临时看了些,请多指教。谢谢!谢谢!可以了,另外再向您问下,this.setLayout(null)是起什么作用的。之前在练习在窗体上显示图片的时候,并未加这句。我理解的是:创建Frame,创建Panel,把图片在Panel中画出来,把Panel加到Frame中,至于布局管理器,如果没有指定的话不是默认的是中央布局管理器么,为什么还要再加那句呢?谢谢!我没说清楚,其实我想问的是一幅图片读入计算机之后,每个像素点是以int型存储,整幅图片会是一个int [] pixels 数组。现在我想用一个int [] pixels 矩阵,来创建一个图片,比如全黑图片的话,alpha值设为255,红,绿,蓝分别设为0。理论上如果把这个矩阵创建成图片,然后在panel上画出来,就可以出现黑色图片。但我尝试了很多次都没成功。呵呵,不知道我讲清楚没,java我没看多久,做毕业设计临时看了些,请多指教。
答案:public static void main(String[] args) {
//创建一个150x50,RGB高彩图,类型可自定
BufferedImage img=new BufferedImage(150, 50, BufferedImage.TYPE_INT_RGB);
//取得图形
Graphics g=img.getGraphics();
//设置黑色
g.setColor(Color.BLACK);
//填充
g.fillRect(0, 0, img.getWidth(), img.getHeight());
//在d盘创建个文件
File file=new File("D:/test.png");
try{
//以png方式写入,可改成jpg其他图片
ImageIO.write(img, "PNG", file);
}catch (IOException e){
e.printStackTrace();
}
//d盘上就生成了这么个黑色图片
}
================
专为你写的啊
其他:是指的背景图片的颜色吗?如果是背景图片的颜色的话,可以写一个“javaspart"样式来实现,只是一种方法;
上一个:一简单的Java程序
下一个:Java邮件问题