将扫描图像的内容流式传输到Java中的文件
发布时间:2020-12-15 02:29:35 所属栏目:Java 来源:网络整理
导读:我正在尝试使用Morena和Sane扫描图像并使用Swing应用程序将其保存到给定特定格式(Tiff或Jpeg)的文件中. 我用这个过程将整个图像加载到内存中: SaneSource source = /* source implemented here */;MorenaImage morenaImage = new MorenaImage(source);Image
我正在尝试使用Morena和Sane扫描图像并使用Swing应用程序将其保存到给定特定格式(Tiff或Jpeg)的文件中.
我用这个过程将整个图像加载到内存中: SaneSource source = /* source implemented here */; MorenaImage morenaImage = new MorenaImage(source); Image image=Toolkit.getDefaultToolkit().createImage(morenaImage); BufferedImage bimg = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics2D g = bimg.createGraphics(); g.drawImage(image,null); ImageIO.write(bimg,"jpg",new File(filename)); 我很确定有一种更好的方法可以做到这一点,而不会占用我的所有记忆,比如将我在扫描图像中的内容通过消费者/观察者传输到文件中,但是我无法将这些内容包裹得很好创建自己的解决方案的想法. 能否帮助我走上更好的图像处理之路? 解决方法
您应该将ImageConsumer(将使用您喜欢的图像格式将图像写入OutputStream)直接附加到ImageProducer(如果您愿意,可以使用SaneSource或MorenaImage).您可以找到将图像编码为PPM并将其传输到OutputStream
here的ImageConsumer示例.您需要编写类似这样的内容才能使用此示例:
ImageProducer prod = ... your producer here ....; PpmEncoder ppm = new PpmEncoder(prod,myOutputStream); ppm.encode(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |