本帖最后由 wangdezhong1 于 2012-05-13 12:05:37 编辑

解决方案 »

  1.   

    基本上也就这个水准了,似乎没啥更高效的了。可以参见下这里:
    http://topic.csdn.net/u/20120423/20/2205b7b5-2af6-489a-a2dd-3355fc467277.html
    我测试过速度最快的大概是由sun提供的私有包(JDK自带了)处理的:
    import com.sun.image.codec.jpeg.*;    public static byte[] getCompressedImageAWT(BufferedImage image) {
            byte[] imageData = null;
            try {
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(baos);
                encoder.encode(image);
                imageData = baos.toByteArray();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            return imageData;
        }
      

  2.   

    恩恩  谢谢 不错 比 ImageIO看上去快一点点  我又去掉了SOCKET的因素测试了一下  其实是卡在了createScreenCapture这个函数上面,这个截屏比较慢  您有没有好的建议呢?
      

  3.   

    没了,这个截屏算挺快的了,我这里测试才50ms左右。而且Robot关于截屏这里,底层其实也是借助sun的包来做的。想再快就双线程做了,轮流截屏和发送。