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. 把apk文件拖到re-sign.jar运行打开的界面找不到指定文件

    下载一个zipalign.exe放到tools目录下面就可以了 点击下载

  2. js获得本季度的开始日期 结束日期

    var now = new Date(); //当前日期var nowMonth = now.getMonth()+1; //当前月var nowYear = now.getFullYear(); / ...

  3. ios之ARC

    本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流和讨论.请不要将本文的部分或全部内容用于商用,谢谢合作. 欢迎转载本文,但是转载请注明本文出处:http:/ ...

  4. EditorConfig文件

    EditorConfig .editorconfig文件 在很多开源项目中,会出现这个文件,这个文件有何作用? editorconfig 帮助开发者的(编辑器和IDEs)定义和维护编程风格. 有些编辑 ...

  5. django-ckeditor添加代码功能(codesnippet)

    最近做了一个博客,使用python3+django2.1开发的,后台编辑器和前端显示用的Django-ckeditor富文本编辑器,由于发现没有代码块功能,写上去的代码在前端展示有点乱,于是一顿问度娘 ...

  6. Linux基础学习-基本命令

    基本命令 date命令 参数 作用 %t 跳格 %H 小时(00-23) %I 小时(00-12) %M 分钟(00-59) %S 秒(00-59) %j 今年中的第几天 [root@qdlinux ...

  7. axure笔记--内部框架交互链接

    内部框架的作用: 1.可以引用站点地图的页面 2.可以引用视频(链接视频)(axure中没有媒体控件) 3.可以引用本地文件 4.引用网页(注意:1.超链接地址要加上http://   2.内部框架大 ...

  8. 刚毕业去面试Python工程师,这几道题太难了,Python面试题No11

    写在前面 本想停一段时间这个系列,但是好多朋友给我发信息说让我继续整理下去,so,继续吧~ 第1题: docstring是什么? docstring是一种文档字符串,用于解释构造的作用.我们在函数.类 ...

  9. Django ORM操作及进阶

    一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 ...

  10. python 基础知识汇总—— if else while continue

    1.if 语句 什么是if语句?if语句用来干什么的? if语句说通俗点,就是判断,如果判断条件为真,那么就执行语句,就像我们生活中例子,如果你饿了,判断为真,就要吃饭,于是你就会执行吃饭这个动作,如 ...