效果图如下:
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.CubicCurve2D;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;
public class ComponentToImage extends Canvas {
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
int w = getWidth();
int h = getHeight();
g2.setPaint(getBackground());
g2.fillRect(0,0,w,h);
g2.setPaint(Color.red);
g2.draw(new CubicCurve2D.Double(w/4, h*3/4, -w*3/8, -h/4,
w*11/8, -h/4, w*3/4, h*3/4));
}
private BufferedImage makeImage() {
int w = getWidth();
int h = getHeight();
int type = BufferedImage.TYPE_INT_RGB;
BufferedImage image = new BufferedImage(w,h,type);
Graphics2D g2 = image.createGraphics();
paint(g2);
g2.dispose();
return image;
}
private void save(BufferedImage image) {
String ext = "jpg"; // png, bmp (j2se 1.5+), gif (j2se 1.6+)
File file = new File("componentToImage." + ext);
try {
ImageIO.write(image, ext, file);
} catch(IOException e) {
System.out.println("write error: " + e.getMessage());
}
}
private void saveToFile() {
new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(1000);
} catch(InterruptedException e) {
System.out.println("interrupted");
}
save(makeImage());
}
}).start();
}
public static void main(String[] args) {
ComponentToImage test = new ComponentToImage();
Frame f = new Frame();
f.addWindowListener(closer);
f.add(test);
f.setSize(400,400);
f.setLocation(200,200);
f.setVisible(true);
test.saveToFile();
}
private static WindowListener closer = new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
};
}
- 大小: 12.5 KB
分享到:
相关推荐
孙强上传的applet的保存文件孙强上传的applet的保存文件孙强上传的applet的保存文件孙强上传的applet的保存文件
让我来说说如何在_APPLET_中显示图
applet中文乱码问题的解决 applet中文乱码问题的解决 applet中文乱码问题的解决 applet中文乱码问题的解决 applet中文乱码问题的解决 applet中文乱码问题的解决 applet中文乱码问题的解决
Applet图片编辑问题源码
Internet上Java-Applet的保存和调用方法.doc
applet图片展示,入门级applet图片展示,入门级applet图片展示,入门级
使用java applet开发,指定要截取的屏幕范围,保存成图片到客户端的小应用程序。
applet 图片 扫描 java web applet 图片 扫描 java web
2.在Applet中加入1个文本框,1个文本区,每次在文本框中输入文本,回车后将文本添加到文本区的最后一行。 3在Applet中加入2个复选框,显示标题为“学习”和“玩耍”,根据选择的情况,分别显示“玩耍”、“学习”、...
基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片...
介绍关于Applet与图片的课件
在Java中实现动画有很多种办法,但它们实现的基本原理是一样的,即在屏幕上画出一系列的帧来造成运动的感觉。 我们先构造一个程序的框架,再慢慢扩展,使之功能比较齐备。
《Java数据结构与算法》中的示例applet,很完整很全面,方便大家交流学习
解决Eclipse运行Applet没有显示图片的方法
在当今流的Ajax技术+Flash的胖客户端技术时,我们不要忘记Applet小程序是Java技术中非常重要的客户技术,它也是非常成熟的客户端技术。在实际开发中,如果能够利用恰当的Applet技术,那么可以写出维护性、重用性很高...
Java+Applet实例讲解(分为1和2两部分)、Java+Applet实例编程、java+Applet登录、JavaApplet教程.pdf、JAVA_applet应用实例.ppt、JavaApplet编程技巧实例专辑、javaapplet例子.doc、Applet类.doc等教程。...
我把class文件放入web-inf/class/中,html中的代码不管怎么改都无法找到Test.class。 测试时,把com包拷入最顶层目录,把 CODEBASE = "."就可以了,我在网上查资料说 web-inf是一个特殊的目录,不能把applet放入其中...
Applet就是使用Java语言编写的一段代码,它可以在浏览器环境中运行。 与Application的区别主要在于其执行方式的不同。 <br> application 是从其中的main() 方法开始运行的,而Applet 是在浏览器中运行的,必须...
Applet做的一个小游戏,多指教。Applet做的一个小游戏,多指教。
图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小...