当前位置:编程学习 > JAVA >>

如何用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邮件问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,