android中bitmap图片与二进制,String间的转化
1,
public Bitmap stringtoBitmap(String string) { // 将字符串转换成Bitmap类型 Bitmap bitmap = null; try { byte[] bitmapArray; bitmapArray = Base64.decode(string, Base64.DEFAULT); bitmap = BitmapFactory.decodeByteArray(bitmapArray, 0, bitmapArray.length); } catch (Exception e) { e.printStackTrace(); }
return bitmap; }
public String bitmaptoString(Bitmap bitmap) {
// 将Bitmap转换成字符串 String string = null; ByteArrayOutputStream bStream = new ByteArrayOutputStream(); bitmap.compress(CompressFormat.PNG, 100, bStream); byte[] bytes = bStream.toByteArray(); string = Base64.encodeToString(bytes, Base64.DEFAULT); return string; }
2,
Byte()转换成Bitmap
Dim ms As MemoryStream = New MemoryStream(bytes) ms.Position = 0 Dim img As Image = Image.FromStream(ms) ms.Close() |
Bitmap转化为Byte()
Public Function BitmapToByte() As Byte() Dim BitReturn As Bitmap = New Bitmap() Dim bReturn() As Byte = Nothing Dim ms As MemoryStream = New MemoryStream() BitReturn.Save(ms, System.Drawing.Imaging.ImageFormat.Png) bReturn = ms.GetBuffer() End Function |
Byte()与String的转换代码
Dim converter As System.Text.UnicodeEncoding converter = New System.Text.UnicodeEncoding() Dim inputString As String = converter.GetString(inputBytes) Dim inputString As String = System.Convert.ToBase64String(inputBytes) Dim inputBytes() As Byte = System.Convert.FromBase64String(inputString) |
Stream和Byte()之间的转换
Public Function StreamToBytes(byval stream as Stream) As Byte Dim bytes() As Byte = New Byte(stream.Length) {} stream.Read(bytes, 0, bytes.Length) ' 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin) Return bytes End Function Public Function BytesToStream(ByVal bytes() As Byte) As Stream Dim stream As Stream = New MemoryStream(bytes) Return stream End Function |
Stream 和 文件之间的转换
Public Sub StreamToFile(ByVal stream As Stream, ByVal fileName As String) ' 把 Stream 转换成 byte() Dim bytes() As Byte = New Byte(stream.Length) {} stream.Read(bytes, 0, bytes.Length) ' 设置当前流的位置为流的开始 stream.Seek(0, SeekOrigin.Begin) ' 把 byte()写入文件 Dim fs As FileStream = New FileStream(fileName,FileMode.Create) Dim bw As BinaryWriter = New BinaryWriter(fs) bw.Write(bytes) bw.Close() fs.Close() End Sub |
从文件读取Stream
Public Function FileToStream(ByVal fileName As String) As Stream '打开文件 Dim fileStream As FileStream fileStream = New FileStream(fileName,FileMode.Open,FileAccess.Read,FileShare.Read) '读取文件的 byte() Dim bytes() As Byte = New Byte(fileStream.Length) {} fileStream.Read(bytes, 0, bytes.Length) fileStream.Close() '把 byte()转换成 Stream Dim stream As Stream = New MemoryStream(bytes) Return stream End Function |
3, bitmap和base64之间的转换
- /**
- * bitmap转为base64
- * @param bitmap
- * @return
- */
- public static String bitmapToBase64(Bitmap bitmap) {
- String result = null;
- ByteArrayOutputStream baos = null;
- try {
- if (bitmap != null) {
- baos = new ByteArrayOutputStream();
- bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
- baos.flush();
- baos.close();
- byte[] bitmapBytes = baos.toByteArray();
- result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if (baos != null) {
- baos.flush();
- baos.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return result;
- }
- /**
- * base64转为bitmap
- * @param base64Data
- * @return
- */
- public static Bitmap base64ToBitmap(String base64Data) {
- byte[] bytes = Base64.decode(base64Data, Base64.DEFAULT);
- return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
android中bitmap图片与二进制,String间的转化的更多相关文章
- Android中的图片压缩
1.android中计算图片占用堆内存的kB大小跟图片本身的kB大小无关,而是根据图片的尺寸来计算的. 比如一张 480*320大小的图片占用的堆内存大小为: 480*320*4/1024=600kB ...
- Android中 Bitmap Drawable Paint的获取、转换以及使用
比如Drawable中有一系列连续的图片,img_0.png, img_1.png, img_2.png ... 如果要动态获取这些图片,通过"R.drawable.img_x"的 ...
- Android中五大字符串总结(String、StringBuffer、StringBuilder、Spanna
https://www.aliyun.com/jiaocheng/2861.html?spm=5176.100033.1.35.2ed56b03CbsYFK 摘要:String.StringBuffe ...
- Android 中对于图片的内存优化方法
Android 中对于图片的内存优化方法,需要的朋友可以参考一下 1. 对图片本身进行操作 尽量不要使用 setImageBitmap.setImageResource. BitmapFact ...
- Android中Bitmap, Drawable, Byte,ID之间的转化
Android中Bitmap, Drawable, Byte,ID之间的转化 1. Bitmap 转化为 byte ByteArrayOutputStream out = new ByteArray ...
- android中Bitmap的放大和缩小的方法
android中Bitmap的放大和缩小的方法 时间 2013-06-20 19:02:34 CSDN博客原文 http://blog.csdn.net/ada168855/article/det ...
- Android中获取图片的宽和高
在Android中,我们想获取图片的宽和高应该怎么办?一.正常加载图片的方法下获取宽和高 举一个简单的例子:创建一个图片的副本 //加载原图 Bitmap bmSrc = BitmapFactory. ...
- Java乔晓松-android中获取图片的缩略图(解决OutOfMemoryError)内存溢出的Bug
由于android获取图片过大是会出现内存溢出的Bug 07-02 05:10:13.792: E/AndroidRuntime(6016): java.lang.OutOfMemoryError 解 ...
- 在Android中实现图片的裁剪
本实例的功能是将用户选择的图片裁剪后放入ImagView,布局文件是个Button和ImageView.为了图片的正常显示,我们在裁剪后先将裁剪好的图片先存放到SD卡中,这样就能在以后开启应用 ...
随机推荐
- WPF知识点全攻略10- 路由事件
路由事件是WPF不得不提,不得不会系列又一 先来看一下他的定义: 功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件. 实现定义:路由事件是一个 C ...
- VM虚拟机下的Linux不能上网
虚拟机linux上网配置 图解教程 首先查看window7主机下的网络配置VMNet1或VMNet8是否开启,其实linux系统的网络连接跟linux系统一致 在虚拟机界面将桥接改为NAT连接 点虚拟 ...
- Oracle数据库同步方案
Oracle数据库同步方案 1. 利用数据泵导出每表前2000行数据 expdp tvpay2/tvpay directory=dmp dumpfile=20170508.dmp include=ta ...
- 【Java_基础】Java中Native关键字的作用
本篇博文转载与:Java中Native关键字的作用
- MySQL 资料库概论与MySQL 安装
本文来自:https://www.breakyizhan.com/sql/5648.html 1. 储存与管理资料 储存与管理资料一直是资讯应用上最基本.也是最常见的技术.在还没有使用电脑来管理你的资 ...
- Linux 中 MySQL 授权远程连接
说明:当别的机子(IP )通过客户端的方式在没有授权的情况下是无法连接 MySQL 数据库的,如果需要远程连接 Linux 系统上的 MySQL 时,必须为其 IP 和具体用户进行授权.一般 root ...
- Linux下关于/tmp目录的清理规则
本文将介绍Linux下/tmp目录的清理规则,rhel6和rhel7将以完全不同的两种方式进行清理. RHEL6 tmpwatch命令 tmpwatch 是专门用于解决“删除 xxx天没有被访问/修改 ...
- Linux实现删除撤回的方法。
RM命令改造 vim /etc/bashrc 在文件的最前端添加如下代码 #修改rm命令 alias rm=delete #命令别名,通过delete来实现rm改为mv alias r=de ...
- Knockout v3.4.0 中文版教程-11-控制文本内容和外观-text绑定
2. text绑定 目的 text绑定把传入的参数通过关联的DOM元素来显示文本值. 通常这对像<span>或<em>标签等使用,但技术上你可以对任何元素使用该绑定. 例子 T ...
- Linux下dpkg的用法
转自:http://blog.csdn.net/fireblue1990/article/details/52627952 dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理 ...