开发者社区> chinar-yunxi> 正文

Unity C#图片转换二进制流、字符串互转

简介: 图片转二进制流转换图片互转 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分...
+关注继续查看

图片转二进制流转换图片互转


本文提供全流程,中文翻译。

Chinar 坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)


Chinar —— 心分享、心创新!

助力快速完成图片互转 string / FileStream 过程

为新手节省宝贵的时间,避免采坑!



全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

Code —— 直接代码


函数已经简化,封装好、用的时候只需要调用此函数即可

将路径传入,即可生成图片

至于生成到哪里,需要自己指定

修改 Application.dataPath + "/" + "Chinar" + index + ".jpg" 此路径即可

整个流程就是:将传入路径的图片,转为流(也可以是字符串),然后生成到另一个指定目录中
举个栗子黑白88

    /// <summary>
    /// 解析图片,此函数仅为提供可视化测试。
    /// (打开项目,选中一个图片。就能将选中的图片写到资源目录下)
    /// 仅为新手提供一个思路
    /// </summary>
    /// <param name="path">图片的路径</param>
    private void AnalysisImage(string path)
    {
        FileStream   fs          = new FileStream(path, FileMode.Open);                                    // 使用文件流构造一个二进制读取器,元数据转为二进制值
        BinaryReader br          = new BinaryReader(fs);                                                   //二进制读取类
        byte[]       imageBuffer = new byte[br.BaseStream.Length];                                         //转为字节流
        br.Read(imageBuffer, 0, Convert.ToInt32(br.BaseStream.Length));                                    //读所有信息
        string textString = System.Convert.ToBase64String(imageBuffer);                                    //转为字符串(未使用,你可以写个Json存下来试试)
        fs.Close();                                                                                        //关
        br.Close();                                                                                        //双关
        System.IO.File.WriteAllBytes(Application.dataPath + "/" + "Chinar" + index + ".jpg", imageBuffer); //将图片写到Assets目录下,名叫Chinar+index.jpg | imageBuffer:二进制流
        index++;                                                                                           //图片下标自增,防止覆盖
        AssetDatabase.Refresh();                                                                           //刷新文件夹
    }

支持

May Be —— 搞开发,总有一天要做的事!


拥有自己的服务器,无需再找攻略!

Chinar 提供一站式教程,闭眼式创建!

为新手节省宝贵时间,避免采坑!


先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


1 —— 云服务器超全购买流程 (新手必备!)

2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)

3—— Windows 服务器配置、运行、建站一条龙 !

4 —— Linux 服务器配置、运行、建站一条龙 !



70

技术交流群:806091680 ! Chinar 欢迎你的加入


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
iOS字符串的本地化(APP 内的本地化切换) 、nib本地化、图片本地化
iOS字符串的本地化(APP 内的本地化切换) 、nib本地化、图片本地化
38 0
C++中int 转换成 string类型
要是换在C#或Java,各种数据类型随便转换,有各种函数随便挑。但是在C++中还真没有那么简单。 我本来是希望能够将123,这样的int类型转换的“123”这样的string,或者C-style也可以。
1024 0
C#技术分享【PDF转换成图片——11种方案】
最近公司安排了个任务:要求交付一个DLL,实现【PDF转换成图片】,最好的效果是能够掌握所有源码,实在不行才交付第三方DLL。研究了6个工作日+1双休+每晚9点下班,逛遍了国内外各种论坛,还是没能成功整出源码,但发现了很多有用的工具和其他工具,在此分享给大家。
1962 0
二进制兼容原理 - C/C++ &Java
       从某种意义上来讲,现代软件已经不是数据结构与算法的简单聚合,更多的是构件开发以及基于体系结构的构件组装.而这些构件,通常都是由不同厂商、作者开发的共享组件,所以组件管理变得越来越重要。在这方面,一个极其重要的问题是类的不同版本的二进制兼容性,即一个类改变时,新版的类是否可以直接替换
2230 0
javascript 数字进制转换
//十进制转其他 var x=110; alert(x); alert(x.toString(8)); alert(x.toString(32)); alert(x.toString(16)); //其他转十进制 var x='110'; alert(parseInt...
440 0
用二进制来编码字符串&quot;adceadaa&quot;,需要能够相据编码,解码回原来的字符串,则至少需要二进制字符的长度是?
利用哈夫曼编码,字符出现的频率越大,则使用越短的二进制进行编码,构建最优二叉树。
778 0
+关注
chinar-yunxi
有人天生为王、有人败者为寇 脚下的路如果不是自己的选择,那么旅途的终点在哪?也就没人知道....
157
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载