当前位置: 首页 > news >正文

网站建设 长沙开福区长安网站设计

网站建设 长沙开福区,长安网站设计,wordpress网代码显示图片,怎么加php网站登陆源码【HarmonyOS】PixelMap转化为Uri 问题背景 鸿蒙中的PixelMap类型,其实类似于Android和IOS中的bitmap,是对图片数据信息进行描述的一种逻辑运算使用的图片类型。 而鸿蒙中的Uri类型,本质其实是带file头的文件存储地址,是用来指向…

【HarmonyOS】PixelMap转化为Uri

问题背景

鸿蒙中的PixelMap类型,其实类似于Android和IOS中的bitmap,是对图片数据信息进行描述的一种逻辑运算使用的图片类型。

而鸿蒙中的Uri类型,本质其实是带file头的文件存储地址,是用来指向文件存储路径的一个字符串,例如:

'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.jpg';

去掉file头,其实就是path类型了。

现在我们已经搞清楚两个类型都是什么,那如何转化呢?

解决方案:

首先这两种类型是无法直接转化的,经过刚才的类型介绍,我们知道Uri是文件的存储路径,如果已经有存储路径说明进行了file操作。那答案显而易见了,我们只需要将PixelMap进行图片存储到沙箱中,得到File之后再拿到Uri即可。

  /*** PixelMap转为图片Uri* @param pixelMap* @returns*/public async PixelMapToUri(pixelMap: PixelMap){// 将图片保存到沙箱// 先获取其应用沙箱路径let fileDir = getContext().getApplicationContext().filesDir;// 创建图片目录let fileSavePath = fileDir + "image";let res = fs.accessSync(fileSavePath);if(res){fs.mkdirSync(fileSavePath, true);}let packer = image.createImagePacker();let packOpts: image.PackingOption = {// 目标格式。当前只支持"image/jpeg"、"image/webp"、"image/png"和"image/heif"12+(不同硬件设备支持情况不同)。// 因为jpeg不支持透明通道,若使用带透明通道的数据编码jpeg格式,透明色将变为黑色。format: "image/png",// JPEG编码中设定输出图片质量的参数,取值范围为0-100。0质量最低,100质量最高,质量越高生成图片所占空间越大。quality: 100}// fileSavePath 打开文件的应用沙箱路径或URI,使用URI作为入参时,仅支持打开文件。//开文件的选项,必须指定如下选项中的一个,默认以只读方式打开:// - OpenMode.READ_ONLY(0o0):只读打开。//// - OpenMode.WRITE_ONLY(0o1):只写打开。//// - OpenMode.READ_WRITE(0o2):读写打开。//// 给定如下功能选项,以按位或的方式追加,默认不给定任何额外选项://// - OpenMode.CREATE(0o100):若文件不存在,则创建文件。(path为URI时不支持创建文件)////   - OpenMode.TRUNC(0o1000):如果文件存在且文件具有写权限,则将其长度裁剪为零。//// - OpenMode.APPEND(0o2000):以追加方式打开,后续写将追加到文件末尾。//// - OpenMode.NONBLOCK(0o4000):如果path指向FIFO、块特殊文件或字符特殊文件,则本次打开及后续 IO 进行非阻塞操作。//// - OpenMode.DIR(0o200000):如果path不指向目录,则出错。不允许附加写权限。//// - OpenMode.NOFOLLOW(0o400000):如果path指向符号链接,则出错。//// - OpenMode.SYNC(0o4010000):以同步IO的方式打开文件。let targetFile = fs.openSync(fileSavePath, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);let fd = targetFile.fd;await packer.packToFile(pixelMap, fd, packOpts);fs.closeSync(fd);let targetUri = fileUri.getUriFromPath(targetFile.path);return targetUri;}
http://www.yayakq.cn/news/167612/

相关文章:

  • 深圳好的网站建设公云南做网站哪家便宜
  • 丽水做网站的公司中国软装网
  • 架设仿冒网站挂马网站如何做服务器授权书
  • wordpress 无广告视频网站网站后台上传内容前台首页不显示
  • 贵州建设厅网站厅长建设网站后期需要哪些
  • 常熟市住房建设局网站河南最新今天的消息
  • 阜阳建设大厦网站广州网站开发建设
  • 铜川网站建设电话西安网络关键词排名
  • 无极网站专门做防盗门的网站
  • 网站规划与开发专业有限责任公司属于什么法人
  • 域名连接到网站成都设计公司怎么选
  • 东莞市建设网站安康养老院收费价格表
  • 闸北区网站建设网北京的重要的网站
  • 建设网站要做的工作手表网站妨水
  • 开个网站多少钱一年门店管理系统推荐
  • 如何建立自己网站视频一个微信网站多少钱
  • 网站建设及制作游戏广告投放平台
  • 网站开发技术可行性分析怎么写开发一个软件的流程是什么
  • 餐饮 公司 网站建设网站建设后续需要维护
  • 网站建设ui设计罗湖城网站建设
  • ps网站背景图片怎么做云南企业展厅设计公司
  • 杭州模板网站好音乐影视网站建设方案
  • vs2013做网站网站建设设置分享功能
  • 蒙城做网站wordpress主机主题
  • 有哪些做微博长图网站美肤宝网站建设
  • 高性能 网站 建设栾城区城乡建设局网站
  • 自己做视频网站只能用地址连接商丘互联网公司
  • 优化的网站做域名跳转wordpress编辑界面
  • 如何注册个做电影的网站网站推广网络营销
  • 网站程序开发的基本步骤怎么管理网站的内容