项目unity游戏在接sdk分享的时候,感觉这个东西可以写一下:
//首先用C#代码保存预设中的二维码到本地

public virtual void savePng(string fileName,RawImage image)
{Texture2D tex = image.mainTexture as Texture2D;if(tex == null) return;string filePath = Application.persistentDataPath + "/code/";if(!Directory.Exists(filePath)){Directory.CreateDirectory(filePath);}byte[] allBt = tex.EncodeToPng();try{File.WriteAllBytes(filePath+fileName+".png",allBt);}catch(IOException e){}call("savePng",fileName,filePath);
}

注意,这里的call是调用Android里面的方法,为什么要调用sdk来保存,因为直接保存到本地,是无法刷新相册的,需要sdk来刷新相册,这样玩家打开相册就可以看到保存下来的二维码

//Android sdk mainActivity 的方法
public void savePng(final String fileName,final String filePath)
{this.runOnUiThread(new Runnable(){public void run(){Bitmap bitmap = BitmapFactory.decodeFile(filePath+fileName+".png");File dir = new File(Environment.getExternalStorageDirectory()+"DCIM/Camera");if(!dir.exists() && !dir.isDirectory()){dir.mkdir();}File file = new File(Environment.getExternalStorageDirectory()+"DCIM/Camera"+fileName+".jpg");if(!file.exists()){try{file.createNewFile();}catch(IOException e){e.printStackTreace();}}FileOutPutStream fos = null;try{fos  = new FileOutputStream(file);}catch(FileNotFoundException e){e.printStackTreace();}bitmap.compress(CompressFormat.JPEG,100,fos);try{fos.flush();}catch(IOException e){e.printStackTreace();}try{fos.close();}catch(IOException e){e.printStackTreace();}bitmap.recycle();//刷新相册操作,必要!Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);Uri contentUri = Uri.fromFile(file);mediaScanIntent.setData(contentUri);this.sendBroadcast(mediaScanIntent);}}
}

//需要注意的是一般二维码只需要保存一次即可,可以判断下是否已经保存,毕竟这是持久化操作,Texture2D每次要拷贝一份数据作为副本来写入图片,比较耗性能,RawImage对应的texture如果是二进制,通过下面方法设置——

pubilc static void SetTexture(RawImage image,string qrdata)
{byte[] data = System.Convert.FromBase64String(qrdata);Texture2D tex = new Texture2D(350,350);tex.LoadImage(data);image.texture = tex;
}

如果是图片,需要设置是Advanced格式,勾选Read/Write Enabled,还有Encode as RGBM 选择Encoded,这样才能读取和写到本地。

保存二维码图片到手机相册相关推荐

  1. Java生成二维码图片,手机软件扫码后跳转网页

    一.创建maven工程,添加如下依赖 <dependencies><dependency><groupId>com.google.zxing</groupId ...

  2. 使用zxing生成带logo的二维码图片,自动调节logo图片相对二维码图片的大小

    使用zxing生成带logo的二维码图片,自动调节logo图片相对二维码图片的大小  * 可选是否带logo,可选是否保存二维码图片:结果返回base64编码的图片数据字符串  * 页面显示:< ...

  3. Zxing图片识别 从相册选二维码图片解析总结

    Zxing图片识别 从相册选取二维码图片进行解析总结 在Zxing扫描识别和图片识别的解析对象是相同的 本文分三个步骤: 1 获取相册的照片 2 解析二维码图片 3 返回结果 1) 获取相册照片 go ...

  4. android Zxing二维码之读取手机二维码图片

    使用最新(注意这里是使用最新版的基于ZXing3.1封装:https://github.com/xuyisheng/ZXingLib) 功能是很全面的,扫描,生成,读取手机. 在这里只记录下读取手机相 ...

  5. 【微信小程序】微信小程序保存二维码海报到相册,以及解决二维码不够清晰的问题

    小程序保存二维码海报 添加 canvas 元素poster <canvas class="poster" canvas-id="poster" style ...

  6. uniapp中根据URL链接生成二维码(适用所有Javascript运行环境的前端应用),保存二维码到本地相册。

    推荐一款适用所有Javascript运行环境的二维码生成组件. uQRCode是一款基于Javascript环境开发的二维码生成插件,适用所有Javascript运行环境的前端应用和Node.js应用 ...

  7. Unity3D:问题(已解决):如何:实现手机扫描电脑二维码,然后手机上显示此二维码对应的图片

    目录 一.目的 1.想知道:如何:实现手机扫描电脑二维码,然后手机上显示此二维码对应的图片 二.参考 1. 三.注意 四.操作:1:失败:草料二维码官方不提供API.SDK等 1. 四.操作:2:失败 ...

  8. Thinkphp5+ phpqrcode 在线批量生成二维码图片并保存在本地

    第一步: 首先需要先下载phpqrcode包,解压在项目中,我们只用到 phpqrcode.php 文件就可以; phpqrcode下载链接为: http://phpqrcode.sourceforg ...

  9. python——生成带logo的二维码图片并且保存、控制打印机打印图片二维码、整合打印(获取输入框的值)、打包成exe文件

    1.生成带logo的二维码图片并且保存 前提条件:在D盘里有logo.png的图片,生成的二维码图片在D盘里的111.png import qrcode from PIL import Image# ...

最新文章

  1. cmw500综合测试仪使用_宁波摆闸静电测试仪价格-老友网
  2. mysql bit 和 tinyint 的区别及使用场景?
  3. html中纯js互斥按钮,JS如何实现checkbox互斥功能
  4. 文件包含和文件上传结合
  5. 从源代码角度看Struts2返回JSON数据的原理
  6. golang 读取文件最后一行_python3从零学习-5.4.3、文件输入流fileinput
  7. PAT乙级(1005 继续(3n+1)猜想)
  8. C++---异常处理
  9. 大数据分析如何保证数据质量
  10. 算法与数据结构面试题(6)-腾讯面试题
  11. linux有没有crt软件,linux类似windows下secureCRT的软件
  12. MAC M1系统下的几种截图工具
  13. 华为网络篇 华为路由器的初始化配置-05
  14. 80端口和443端口是什么?有什么区别?
  15. 学画画软件app推荐_绘画APP推荐|很全的学画画的APP推荐
  16. 原生JS实现自定义滚动条
  17. 把阿拉伯数字全部转换为大写(1,2,3.... = 一、二、三、)
  18. error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received.
  19. Java——StringUtils
  20. Linux下 wchar_t 与char 转换

热门文章

  1. 硬盘坏了!!!!!!
  2. python随机密码生成以整数17为随机数种子_python习题 随机密码生成 + 连续质数计算...
  3. 大数据高级开发工程师——Spark学习笔记(6)
  4. 2021.07.28
  5. 那么telnet到底是一个协议还是一个软件呢?
  6. 【Codecs系列】SVAC1.0标准解读-----整体框架分析
  7. 马铃薯凝集素(STL,PL)
  8. 【附源码】Java计算机毕业设计旅游管理系统(程序+LW+部署)
  9. 超容易上手的绘图软件
  10. python和scre_python中变量命名的基本规则,标识符和关键字