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 inputBytes() As Byte = converter.GetBytes(inputString)

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间的转化的更多相关文章

  1. Android中的图片压缩

    1.android中计算图片占用堆内存的kB大小跟图片本身的kB大小无关,而是根据图片的尺寸来计算的. 比如一张 480*320大小的图片占用的堆内存大小为: 480*320*4/1024=600kB ...

  2. Android中 Bitmap Drawable Paint的获取、转换以及使用

    比如Drawable中有一系列连续的图片,img_0.png, img_1.png, img_2.png ... 如果要动态获取这些图片,通过"R.drawable.img_x"的 ...

  3. Android中五大字符串总结(String、StringBuffer、StringBuilder、Spanna

    https://www.aliyun.com/jiaocheng/2861.html?spm=5176.100033.1.35.2ed56b03CbsYFK 摘要:String.StringBuffe ...

  4. Android 中对于图片的内存优化方法

    Android 中对于图片的内存优化方法,需要的朋友可以参考一下     1. 对图片本身进行操作 尽量不要使用 setImageBitmap.setImageResource. BitmapFact ...

  5. Android中Bitmap, Drawable, Byte,ID之间的转化

    Android中Bitmap, Drawable, Byte,ID之间的转化 1.  Bitmap 转化为 byte ByteArrayOutputStream out = new ByteArray ...

  6. android中Bitmap的放大和缩小的方法

    android中Bitmap的放大和缩小的方法 时间 2013-06-20 19:02:34  CSDN博客原文  http://blog.csdn.net/ada168855/article/det ...

  7. Android中获取图片的宽和高

    在Android中,我们想获取图片的宽和高应该怎么办?一.正常加载图片的方法下获取宽和高 举一个简单的例子:创建一个图片的副本 //加载原图 Bitmap bmSrc = BitmapFactory. ...

  8. Java乔晓松-android中获取图片的缩略图(解决OutOfMemoryError)内存溢出的Bug

    由于android获取图片过大是会出现内存溢出的Bug 07-02 05:10:13.792: E/AndroidRuntime(6016): java.lang.OutOfMemoryError 解 ...

  9. 在Android中实现图片的裁剪

        本实例的功能是将用户选择的图片裁剪后放入ImagView,布局文件是个Button和ImageView.为了图片的正常显示,我们在裁剪后先将裁剪好的图片先存放到SD卡中,这样就能在以后开启应用 ...

随机推荐

  1. 基于Python的Web应用开发实战——3 模板

    要想开发出易于维护的程序,关键在于编写形式简洁且结构良好的代码. 当目前为止,你看到的示例都太简单,无法说明这一点,但Flask视图函数的两个完全独立的作用却被融合在了一起,这就产生了一个问题. 视图 ...

  2. ios之UIToolBar

    toolbar除了可以和navigationController一起用之外,也可以独立用到view里.工具栏UIToolbar – 一般显示在底部,用于提供一组选项,让用户执行一些功能,而并非用于在完 ...

  3. C# IsNullOrEmpty与IsNullOrWhiteSpace

    IsNullOrEmpty:非空非NULL判断 IsNullOrWhiteSpace:非空非NULL非空格判断 后者优于前者 if (!string.IsNullOrWhiteSpace(valueE ...

  4. 总结:JavaScript异步、事件循环与消息队列、微任务与宏任务

    本人正在努力学习前端,内容仅供参考.由于各种原因(不喜欢博客园的UI),大家可以移步我的github阅读体验更佳:传送门,喜欢就点个star咯,或者我的博客:https://blog.tangzhen ...

  5. egg.js 学习之 中间件使用

    1.在框架和插件中使用中间件 编写中间件 我们先来通过编写一个简单的中间件,来看看中间件的写法. // app/middleware/middlewareOne.js // app/middlewar ...

  6. perl:split函数用法

    本文和大家重点讨论一下Perl split函数的用法,Perl中的一个非常有用的函数是Perl split函数-把字符串进行分割并把分割后的结果放入数组中.这个Perl split函数使用规则表达式( ...

  7. Day15模块(导入,使用)

    Day15模块 什么是模块: 一系列功能的集合体 一个py文件就是一个模块 aaa.py就是aaa模块 模块四种形式: 内置的模块 py文件 第三方的 包 模块三种来源:内置的,第三方,自定义 为什么 ...

  8. subprocess模块windows系统命令和linux系统命令

    windows系统 查看所有进程 tasklist 查找指定进程 tasklist | findstr pycharm 程序名称 PID(大写) 数量 大小 python exe 2640 conso ...

  9. LeetCode(136) Single Number

    题目 Given an array of integers, every element appears twice except for one. Find that single one. Not ...

  10. 牛客网暑期ACM多校训练营(第六场) I Team Rocket(线段树)

    题意: 给定n个区间, m次询问, 每次询问给一个点, 问这个点在哪些区间内, 然后删掉这些区间. 分析: 将n个区间按L大小升序排列, 然后将这些区间视为点构建一棵n个点的线段树, 树的节点记录这个 ...