想把一个自己生成的org.eclipse.swt.graphics.Image存到一个数据流或文件中,但是没有似乎Image没有写到文件中的API。
查到AWT的ImageIO有个Write()函数,可惜是AWT的。
发现org.eclipse.swt.graphics.ImageLoader提供save功能,既可以把它存到数据流中,也可以存到文件中。但是它的Load()函数只提供FileName和InputStream这两种参数。
郁闷。
ImageLoader的data[] 竟然是public,那就意味着把源Image的ImageData赋值给它,它的Save()照样可用了。
ImageData imageData = sourceImage.getImageData( );
ImageLoader imageLoader = new ImageLoader();
imageLoader.data = new ImageData[1];
imageLoader.data[0] = imageData;
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
imageLoader.save( outputStream, SWT.IMAGE_JPEG );
这样,就把sourceImage以JPEG格式存到数据流outputStream中了。
从SWT Newsgroup上得知,这种方法有一定局限。如果一个Composite在画面以外,那么在画面以外的部分是不会绘出来。如果这个Composite在画面以内,但是它是不可见的(Visual 为false),画到Image中的内容也不是希望中的Composite。
原文:http://dev.csdn.net/author/ZiJinShi/1e55f021df2346f38ee5165b8f2ef573.html
分享到:
相关推荐
InputStream与OutputStream及File间互转
关于InputStream和OutputStream关于InputStream和OutputStream关于InputStream和OutputStream关于InputStream和OutputStream
发送网络字节流 pack stream php
Java中OutputStream类数据操作方法.pdf 学习资料 复习资料 教学资源
NULL 博文链接:https://shihuan830619.iteye.com/blog/2094068
使用最简单的InputStream输入流和OutputStream输出流,制作了文件之间的粘贴复制功能。程序已测试,可以把一个word文件中的内容完整复制到另一个word文件中。
NULL 博文链接:https://anminer.iteye.com/blog/845067
Java将多张图片合成为一张,类似于PhotoShop中的合成图片,将两张图片合成输出为一张JPG,两幅图像叠加在一起,这是个比较基础的Java图像合成的例子。在JAVA中实现图片合成,本例的实现核心代码如下: InputStream...
OutputStream os = new FileOutputStream(file2);// 打开文件 os.write(cont); os.close();// 关闭文件 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) ...
image.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); //注意:这个很关键,没有就不能显示图片。其中ImageFormat取枚举值 image.Dispose(); g.Dispose(); //销毁对象 效果图如下:
Log日志:主要用于记录程序运行的情况,以... StreamHandler – 将信息输出到一个OutputStream对象 ConsoleHandler – 将信息输出到控制台 FileHandler – 将信息输出到文件 还有Socket处理器和内存处理器等
微信JSAPI工具包
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(watermarkimagepath); image.SetAbsolutePosition(250, 675); image.ScaleAbsoluteHeight(50); image.ScaleAbsoluteWidth(50); ...
Struts2文件流方式导出下载excel、Txt、image图片,直接返回给浏览器提示下载,不生成临时文件,直接保存在客户端
一共四种, 关机后还会存在: 分别是: file ,SharedPreference, SQLite, ContentProvider 各有各的优缺点 file主要存储大型文件,但需要你的sdcard...比如程序A在指定的ContentProvider中存下一个数据,程序B可以取到.
当你还是一个java初学者的时候,是不是还在为你没有一个好的源代码模仿去学习而烦恼,这个代码很容易看懂,对你学习很有帮助
tls 编写器OutputStream 的一种变体,它增加了跨多线程写入的每行同步实施细则这是OutputStream实现的概念证明,它允许多个线程写入同一个流并产生合理的输出,而无需采取任何步骤来同步访问。 它实现这一目标的方法...
在网上经常看见有这样的代码HttpResponse response = HttpContext.Current.Response;现在我也来说说这几个东东是什么吧
IO流文档,相关IO流的说明文档.............
/* tif转换到jpg格式 */ String input2 = "d:/img/a.tif"; String output2 = "d:/img/a.jpg"; RenderedOp src2 = JAI.create("fileload", input2); OutputStream os2 = new FileOutputStream(output2); ...