java image转换icon_内存转换Image到Icon
时候我们需要在内存中转换Image格式到Icon根据经验,通常我们应该可以这样做Imageim
时候我们需要在内存中转换Image格式到Icon
根据经验,通常我们应该可以这样做
Image image = xxxx;///假设这里已经有一个Image对象
System.IO.MemoryStream mStream = new System.IO.MemoryStream();///创建内存流
image.Save(mStream, System.Drawing.Imaging.ImageFormat.Icon);
Icon icon = Icon.FromHandle(new Bitmap(mStream).GetHicon());
mStream.Close();
但这里在image.Save的时候会报告错误,空对象引用。
于是我改变保存的格式为Bitmap、Jpeg等,这样就没有错误了(说明不能在内存中直接保存为Icon格式)。
但是这样的话,取得的Icon将会去掉原图片中的透明信息。
一个个格式的试验我们可以发现保存为Gif格式的时候,还可以保留透明信息,哈哈,终于找到,
但这里,还有值得注意的就是,在成功取得内存流后,不能直接用Icon构造,一定要用Bitmap转,否则也会报错。
Icon icon = new Icon(mStream);//这种方式将报错
本文由来源 21aspnet,由 system_mush 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。
java image转换icon_内存转换Image到Icon相关推荐
- java linux urlencode_java字符编码转换研究(转)
1. 概述 本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等. 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是" ...
- 【Android NDK 开发】JNI 方法解析 ( 字符串数组参数传递 | 字符串遍历 | 类型强转 | Java 字符串与 C 字符串转换 | 字符串释放 )
文章目录 I . C/C++ 中的 Java 字符串数组类型 II . 获取字符串数组长度 III . 获取字符串数组元素 IV . 类型强转 ( jobject -> jstring ) V ...
- java 实体属性个数_?Java中比较实用实体转换工具介绍
Java中比较实用实体转换工具介绍 文中源码地址 大家一般编码过程中,经常会遇到DO对象转化为DTO对象,对象和对象之间转换一般需要用到转换工具,毕竟使用getter/setter太过麻烦 DO:D ...
- Java+Windows+ffmpeg实现视频转换
旧文,源地址见这里. 最近由于项目需要,研究了一下如何用Java实现视频转换,"着实"废了点心思,整理整理,写出给自己备忘下. 思路 由于之前没有没法过相关功能的经验,一开始来真不 ...
- Java:缓冲流、转换流、序列化流
1.缓冲流-概述 读.写都可以使用一种"数组"的方式,这种方式会大大提高读.写的效率,基于这种原因,Java内部提供一种"缓冲流",其内部自带一个缓冲区(数组) ...
- java 日期和时间格式化转换符操作
学习java时知识太过的零碎,不系统,学习东西以快为主,导致根基不稳,现在决定把java基础重新学习一遍,把自认为比较好的java使用方式拿出来 1.自己在熟悉一遍 2.后续方便查找 3.没有了解的在 ...
- java int转换float_java float转换int
1.Java的简单类型及其封装器类 ⑴Java简单类型与封装类 我们知道,Java语言是典型的支持面向对象的程序语言,但考虑到有些基本数据类型的结构简单,占内存小且存取速度快等优点,Java依然提供了 ...
- JAVA之缓冲流,转换流和序列化流
JAVA之缓冲流,转换流和序列化流 主要内容 缓冲流 转换流 序列化流 打印流 昨天学习了基本的一些流,作为IO流的入门,今天我们要见识一些更强大的流.比如能够高效读写的缓冲流,能够转换编码的转换流, ...
- Google App Engine for Java下的URL编码转换问题
URL编码问题 此部分参考英文资料: http://www.blooberry.com/indexdot/html/topics/urlencoding.htm http://www.w3school ...
最新文章
- 真正决定分辨准确率的是图片重叠的区域
- tcp/ip 协议栈Linux内核源码分析十 邻居子系统分析一 概述通用邻居框架
- 【原创】erlang 模块之 application
- C语言 函数指针 - C语言零基础入门教程
- 理论基础 —— 排序 —— 堆排序
- 自己动手写Docker系列 -- 5.1实现容器的后台运行
- linux route配置网关,Linux使用route配置路由
- H5与客户端交互的方式有哪些? 怎么做?
- 代理设计模式 实现 Retrofit 的 create
- C++引用之引用的使用
- Kubernetes API的流编解码器StreamSerializer
- 自然语言处理之语料库
- MC9S12相关模块
- 去掉whatsns问答系统页面底部隐藏的官网链接
- 灾备系统与备用服务器区别,服务器灾备方案是什么
- 什么是jsf_什么是JSF? JavaServer Faces简介
- 传Apple开发TD版iPhone,使用Marvell方案
- C++播放音频mav文件和mp3文件
- 华为畅享10s值得买吗_【华为畅享10S怎么样华为畅享10s评测】屏幕_摘要频道_什么值得买...
- JDK动态代理(通俗易懂,小白首选)