`

applet中保存canvas中的图片

阅读更多

效果图如下:


 

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中文乱码问题的解决.txt

    applet中文乱码问题的解决 applet中文乱码问题的解决 applet中文乱码问题的解决 applet中文乱码问题的解决 applet中文乱码问题的解决 applet中文乱码问题的解决 applet中文乱码问题的解决

    Applet图片编辑源码

    Applet图片编辑问题源码

    Internet上Java-Applet的保存和调用方法.doc

    Internet上Java-Applet的保存和调用方法.doc

    applet图片展示,入门级

    applet图片展示,入门级applet图片展示,入门级applet图片展示,入门级

    applet截取屏幕图片

    使用java applet开发,指定要截取的屏幕范围,保存成图片到客户端的小应用程序。

    applet图片扫描程序

    applet 图片 扫描 java web applet 图片 扫描 java web

    3则applet程序

    2.在Applet中加入1个文本框,1个文本区,每次在文本框中输入文本,回车后将文本添加到文本区的最后一行。 3在Applet中加入2个复选框,显示标题为“学习”和“玩耍”,根据选择的情况,分别显示“玩耍”、“学习”、...

    基于java+applet图片浏览小程序

    基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片浏览小程序 基于java+applet图片...

    Applet与图片

    介绍关于Applet与图片的课件

    在Java Applet中实现动画.rar_applet_java Applet

    在Java中实现动画有很多种办法,但它们实现的基本原理是一样的,即在屏幕上画出一系列的帧来造成运动的感觉。 我们先构造一个程序的框架,再慢慢扩展,使之功能比较齐备。

    《Java数据结构与算法》中的applet

    《Java数据结构与算法》中的示例applet,很完整很全面,方便大家交流学习

    解决Eclipse运行Applet没有显示图片的方法

    解决Eclipse运行Applet没有显示图片的方法

    XP模式中的Applet的小程序开发

    在当今流的Ajax技术+Flash的胖客户端技术时,我们不要忘记Applet小程序是Java技术中非常重要的客户技术,它也是非常成熟的客户端技术。在实际开发中,如果能够利用恰当的Applet技术,那么可以写出维护性、重用性很高...

    JavaApplet实例及教程

    Java+Applet实例讲解(分为1和2两部分)、Java+Applet实例编程、java+Applet登录、JavaApplet教程.pdf、JAVA_applet应用实例.ppt、JavaApplet编程技巧实例专辑、javaapplet例子.doc、Applet类.doc等教程。...

    t用Applet来实现动态图

    我把class文件放入web-inf/class/中,html中的代码不管怎么改都无法找到Test.class。 测试时,把com包拷入最顶层目录,把 CODEBASE = "."就可以了,我在网上查资料说 web-inf是一个特殊的目录,不能把applet放入其中...

    Applet

    Applet就是使用Java语言编写的一段代码,它可以在浏览器环境中运行。 与Application的区别主要在于其执行方式的不同。 <br> application 是从其中的main() 方法开始运行的,而Applet 是在浏览器中运行的,必须...

    Applet小游戏 Applet小游戏 Applet小游戏

    Applet做的一个小游戏,多指教。Applet做的一个小游戏,多指教。

    图片浏览小程序(java+applet)

    图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小程序(java+applet)图片浏览小...

Global site tag (gtag.js) - Google Analytics