关于java文件保存的问题,对于我有点难 是用java程序将它保存起来还是将你程序执行过程中,把这个图片抓下来? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该是先创建BufferedImage,然后getGraphics(),在调用panel的paint方法,但记得传的参数应为你从image得到的graphics. gularess(无吃哪拉) 能不能给个例子? 回复人: faintyzxm(faint)用程序把他保存成jpg文件 ByteArrayOutputStream out = new ByteArrayOutputStream(); Dimension d = new Dimension(400,300); BufferedImage image = new BufferedImage(d.width , d.height , BufferedImage.TYPE_INT_RGB); Graphics2D g2 = (Graphics2D)image.getGraphics(); g2.setColor(Color.white ); g2.fillRect(0,0,d.width,d.height); panel.paint(g2); JPEGImageEncoder jpeg= JPEGCodec.createJPEGEncoder(out); try{jpeg.encode(image); ByteByteArrayOutputStream out = (ByteArrayOutputStream)jpeg.getOutputStream(); FileOutputStream fout = new FileOutputStream("d:/test.jpg");fout.write(out.toByteArray()); fout.flush(); fout.close();}catch(Exception e){} 又错了,应该把第二个ByteByteArrayOutputStream去掉。 gularess(无吃哪拉)再问一下JPEGImageEncoder在哪一个包里面?收到后后马上给分 gularess(无吃哪拉)不存在文件的时候,怎么通过一个graphics 得到一个image 或者bufferedimage呀? java.awt.Robot robot = new java.awt.Robot();Rectangle rect = panel.getBounds(null);BufferedImage bufImage = robot.createScreenCapture(rect);可以得到 fightboy(樱桃小蚊子) :如果用robot的话,只能得到屏幕上看得见的部分,看不见的部分就不可以了对不对?我想用component.createimage()得到,但是得到以后保存出来的东西为0字节郁闷中 对于jdk1。3http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Encode.doc.html对于jdk1。4http://java.sun.com/j2se/1.4/docs/guide/imageio/spec/apps.fm4.html我还没试出来,结果出来了可否给告知一下!(注意写了文件要flush并close) 在GUI中获取数据用表格显示,为什么显示多个表格,而不是一个表格 怎么用程序运行电脑里的可执行文件 java中有没有类似C#委托功能的机制 100分请教:怎么在有包类下调用无包类 一个奇怪的问题向大家请教 请问哪有下载Bot包的,要做爬虫程序 关于JDBC的各种驱动 有谁知道ant做什么用的,为什么要用它?(高分) 有没有网站建设高手,指点一下? 正则的问题~~在线等~ java开发工具 请问java客户端报表打印提取数据时一定要用RMI吗?
能不能给个例子?
用程序把他保存成jpg文件
Dimension d = new Dimension(400,300);
BufferedImage image = new BufferedImage(d.width , d.height , BufferedImage.TYPE_INT_RGB); Graphics2D g2 = (Graphics2D)image.getGraphics();
g2.setColor(Color.white );
g2.fillRect(0,0,d.width,d.height);
panel.paint(g2);
JPEGImageEncoder jpeg= JPEGCodec.createJPEGEncoder(out);
try{jpeg.encode(image);
ByteByteArrayOutputStream out = (ByteArrayOutputStream)jpeg.getOutputStream();
FileOutputStream fout = new FileOutputStream("d:/test.jpg");
fout.write(out.toByteArray());
fout.flush();
fout.close();}catch(Exception e){}
再问一下JPEGImageEncoder在哪一个包里面?
收到后后马上给分
不存在文件的时候,
怎么通过一个graphics 得到一个image 或者bufferedimage呀?
Rectangle rect = panel.getBounds(null);
BufferedImage bufImage = robot.createScreenCapture(rect);
可以得到
如果用robot的话,只能得到屏幕上看得见的部分,看不见的部分就不可以了
对不对?
我想用component.createimage()得到,但是得到以后保存出来的东西为0字节
郁闷中
(注意写了文件要flush并close)