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

建设网站工作报告国外做任务网站有哪些

建设网站工作报告,国外做任务网站有哪些,广东研发网站建设平台,图书馆网站建设目标前言:在HarmonyOS项目开发中,我们使用Ark-Ts语言开发项目。我们有个功能是拍照,除了正常显示出来,并且上传服务器。我在开发过程中,遇到的问题是,如果离开这个页面再回到当前页面仍要显示图片,那…

前言:在HarmonyOS项目开发中,我们使用Ark-Ts语言开发项目。我们有个功能是拍照,除了正常显示出来,并且上传服务器。我在开发过程中,遇到的问题是,如果离开这个页面再回到当前页面仍要显示图片,那我的思路就是存储在沙盒,重新回到这个页面先去沙盒里面查找照片,如果找到就显示出来。

流程图:

请添加图片描述

1.模拟拍照:
模拟拍照方法
takePhoto(){let pixelMap1 = await SnapshotUtil.snapshot()//添加水印信息(此处省略)//调用步骤2.//照片存储到本地,并返回路径let filePath:string = await WinPixelImageTool.asyncSavePixelImageToFileCache(waterMarkPixelMap);//存储照片存储沙盒路径let imageKey = '自定义key值'PreferencesManager.set(imageKey,filePath);}
/*** 获取窗口截图,使用Promise异步回调。* @param windowClass 不传默认截图主窗口* @returns*/static async snapshot(windowClass?: window.Window): Promise<image.PixelMap> {return (windowClass ?? AppUtil.getMainWindow()).snapshot();}
2.生成图片存储路径
static asyncSavePixelImageToFileCache(pixelIamge:PixelMap){return new Promise<string>((resolve)=>{const imagePackerApi: image.ImagePacker = image.createImagePacker();let packOpts : image.PackingOption = { format:"image/png", quality:100 };const context : Context = AppUtil.getContext();let fileName = DateUtil.getTodayTime().toString();let path : string = context.cacheDir + `/sfa`;if (!FileUtil.accessSync(path)) {FileUtil.mkdirSync(path)}path = `${path}/pixel_map_${fileName}.png`let file = fs.openSync(path, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);imagePackerApi.packToFile(pixelIamge, file.fd, packOpts,(error: BusinessError): void => {if (error) {resolve('')}else {// let fileUriPath = fileUri.getUriFromPath(path);resolve(path)}})})}

//存储方法

static set(key: string, value: dataPreferences.ValueType) {if (context==undefined) {context = AppUtil.getContext()}let preferences = dataPreferences.getPreferencesSync(context, { name: preferencesName });preferences?.putSync(key, value);preferences?.flush();}
3.如何将图片转为PixelMap并且显示出来,方法如下:

/*

  • 沙盒目录下的照片转为image.PixelMap
  • imageId是存储照片沙盒路径的key
  • localImagePath 是照片的存储沙盒路径
    */
//通过Imagekey获取图片,比如门头照显示就是此方法static getImageByImageId(imageId:string):Promise<image.PixelMap> {return new Promise<image.PixelMap>(async (resolve,reject) => {let localImagePath =  PreferencesManager.get(imageId) as string;if (localImagePath&&localImagePath.length>0) {let tmpImagePixelMap =  await WinImagePixelMapUtils.getImagePixelMapWithFilePath(localImagePath);resolve(tmpImagePixelMap.pixelMap);}else {reject();}})}//WinImagePixelMapUtils类
static async getImagePixelMapWithFilePath(filePath:string){let imageSource = image.createImageSource(filePath);return await imageSource2PixelMap(imageSource);}export  async function imageSource2PixelMap(imageSource: image.ImageSource): Promise<ImagePixelMap> {const imageInfo: image.ImageInfo = await imageSource.getImageInfo();const height = imageInfo.size.height;const width = imageInfo.size.width;const options: image.DecodingOptions = {editable: true,desiredSize: { height, width }};const pixelMap: PixelMap = await imageSource.createPixelMap(options);const result: ImagePixelMap = { pixelMap, width, height };return result;
}

getImageByImageId
通过此方法找到沙盒里面的图片,
使用Image组件可以直接加载tmpImagePixelMap.pixelMap

http://www.dtcms.com/a/396146.html

相关文章:

  • 七、MyBatis(一)
  • asp网站安装网站关键词优化教程
  • 虚拟主机Ubuntu操作系统的安装和基础软件安装及配置教程
  • 网站建设的特征网络营销的工具和方法有哪些
  • 建设学校网站需求分析外贸网站建设如何做呢
  • Java IO 流详解:从原理到实战的全方位指南
  • 株洲网站优化网站设计实训心得体会
  • wordpress下拉菜单联动seo优化的常用手法
  • 多点网络网站制作系统荣成信用建设网站
  • 购物网站建设所需软件公司如何建设一个网站
  • 天津网站开发网站做英语陪同翻译兼职的网站
  • 做烘焙网站怎么样创建微信公众号
  • 漂亮的数据型网站wordpress文章页面宽度
  • 车载DoIP架构 --- 车辆声明报文间隔
  • 并发场景下使用 HashMap 可能出现死循环的原因?
  • 单链表/双链表/循环链表
  • 如何网站专题策划志愿服务网站开发
  • 宁波建设监理协会网站中国建设招标工程网站
  • PyQt5 中 LineEdit 控件数据的批量存储与读取
  • 商城网站需要多少空间四川建设厅的网站
  • 陕西建设银行缴费网站全球网络营销公司排名
  • 超快轻量级离线翻译服务器MTranServer在腾讯云轻量应用服务器上的全流程部署指南
  • 山东网站优化推广手机软件开发学什么
  • 自己做网站吗天元建设集团有限公司济宁分公司
  • 网站怎么推广引流巩义市网站建设培训班
  • 网站建设珠海 新盈科技做影视网站风险大吗
  • 开发网站需要问什么金华网络公司网站建设
  • 企业网站推广17有免费的网站服务器吗
  • 清欢互联网网站建设中国交通建设工程监督管理局网站
  • 二刷DC: 6靶场