需求是这样的:
在一个画布上(目前用Panel控件),画流程图。
流程图包括节点和带箭号的连接线,
现在的难题是如何画好的流程图保存成图片。
请各位高手指教

解决方案 »

  1.   

    import java.awt.image.*;    /**JBuilder下编译测试通过
         * 将某个组件上的图形或组件另存为文件
         * @param comp
         * @param filename
         * @return
         */
        public static boolean saveToJPEG(Component comp) {
            boolean result = true;
            try {
                int w = comp.getWidth();
                int h = comp.getHeight();
                BufferedImage
                    image = (BufferedImage) comp.createImage(w, h);
                Graphics2D g2 = image.createGraphics();
                comp.print(g2);            String filename = LocalAccess.getSaveFileName(comp,"JavaComponent.jpg");
                if(filename==null)return false;
                BufferedOutputStream bos =
                    new BufferedOutputStream(new FileOutputStream(filename));
                com.sun.image.codec.jpeg.JPEGImageEncoder encoder = com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(bos);
                com.sun.image.codec.jpeg.JPEGEncodeParam jep = encoder.getDefaultJPEGEncodeParam(image);
                jep.setQuality(1.0f, false);
                encoder.setJPEGEncodeParam(jep);
                encoder.encode(image);
                bos.close();
            }
            catch (Exception e) {
                result = false;
                e.printStackTrace();
            }
            return result;
        }