网站是什么样子的品牌画册设计

张小明 2025/12/26 15:55:01
网站是什么样子的,品牌画册设计,网站建设的固定资产包括哪些,百度不收录网站文章目录1. 解决措施2. 示例代码3. 将arraybuffer转换成cv::mat4. 使用OH_PixelMap_AccessPixels获取PixelMap的内存地址#xff0c;将这个内存地址中的数据转换为cv::mat的1. 解决措施 将PixelMap转换成cv::mat有两种方法#xff1a; 将PixelMap的arraybuffer转换成cv::mat。使…目录1. 解决措施2. 示例代码3. 将arraybuffer转换成cv::mat4. 使用OH_PixelMap_AccessPixels获取PixelMap的内存地址将这个内存地址中的数据转换为cv::mat的1. 解决措施将PixelMap转换成cv::mat有两种方法将PixelMap的arraybuffer转换成cv::mat。使用OH_PixelMap_AccessPixels获取PixelMap的内存地址将这个内存地址中的数据转换为cv::mat。上述两种方法都需确保PixelMap的格式与OpenCV中Mat的格式一致否则会导致色彩偏差。2. 示例代码importcPixelMapToMatfromlibcpixelmaptomat.so;import{BusinessError}fromkit.BasicServicesKit;import{image}fromkit.ImageKit;Entry Component struct Index{State pixelMap:image.PixelMap|undefinedundefinedasyncarrayBufferToMat(){if(this.pixelMapundefined||this.pixelMap){letcontextthis.getUIContext().getHostContext()ascommon.UIAbilityContext;letresourceManagercontext.resourceManagerletimageArrayawaitresourceManager.getMediaContent($r(app.media.sample10));letpixelBuffernewUint8Array(imageArray).bufferasObjectasArrayBuffer console.info(pixelBuffer length: pixelBuffer.byteLength);letimageResourceimage.createImageSource(pixelBuffer);letopts:image.DecodingOptions{editable:true,desiredPixelFormat:image.PixelMapFormat.RGBA_8888}this.pixelMapawaitimageResource.createPixelMap(opts);}constreadBuffer:ArrayBuffernewArrayBuffer(this.pixelMap.getPixelBytesNumber());// Obtain the array buffer of the pixelmapconsole.info(readBuffer length: readBuffer.byteLength);this.pixelMap.readPixelsToBuffer(readBuffer).then((){console.info(No Error!)}).catch((err:BusinessError){console.error(Error! err.message)})constdirgetContext(this).filesDir;console.info(save path: dir);cPixelMapToMat.arrayBufferToMat(this.pixelMap,readBuffer,dir);}asyncaccessToMat(){if(this.pixelMapundefined||this.pixelMap){letresourceManagergetContext(this).resourceManagerletimageArrayawaitresourceManager.getMediaContent($r(app.media.sample14));letpixelBuffernewUint8Array(imageArray).bufferasObjectasArrayBuffer console.info(pixelBuffer length: pixelBuffer.byteLength);letimageResourceimage.createImageSource(pixelBuffer);letopts:image.DecodingOptions{editable:true,desiredPixelFormat:image.PixelMapFormat.RGBA_8888}this.pixelMapawaitimageResource.createPixelMap(opts);}constdirgetContext(this).filesDir;console.info(save path: dir);cPixelMapToMat.accessToMat(this.pixelMap,dir);}build(){Row(){Column(){Image(this.pixelMap).width(200).height(200)Button(ArrayBufferToMat).onClick((){this.arrayBufferToMat();})Button(AccessToMat).onClick((){this.accessToMat();})}.width(100%)}.height(100%)}}3. 将arraybuffer转换成cv::mat#includenapi/native_api.h#includemultimedia/image_framework/image_mdk.h#includemultimedia/image_framework/image_mdk_common.h#includemultimedia/image_framework/image_pixel_map_mdk.h#includemultimedia/image_framework/image_pixel_map_napi.h#includehilog/log.h#includeopencv2/opencv.hpp#includebits/alltypes.hstaticnapi_valueArrayBufferToMat(napi_env env,napi_callback_info info){size_t argc3;napi_value args[3]{nullptr};napi_get_cb_info(env,info,argc,args,nullptr,nullptr);napi_value error;napi_create_int32(env,-1,error);// Initialize PixelMap object dataNativePixelMap*nativeOH_PixelMap_InitNativePixelMap(env,args[0]);if(nativenullptr){returnerror;}// Obtaining Image InformationstructOhosPixelMapInfospixelMapInfos;if(OH_PixelMap_GetImageInfo(native,pixelMapInfos)!IMAGE_RESULT_SUCCESS){OH_LOG_Print(LOG_APP,LOG_ERROR,0xFF00,Test,Pure : -1);returnerror;}// Obtains the buffernapi_value bufferargs[1];napi_valuetype valueType;napi_typeof(env,buffer,valueType);if(valueTypenapi_object){boolisArrayBufferfalse;napi_is_arraybuffer(env,buffer,isArrayBuffer);if(!isArrayBuffer){napi_throw_error(env,EINVAL,Error);}}void*datanullptr;size_t byteLength0;napi_get_arraybuffer_info(env,buffer,data,byteLength);int32_t*saveBuffer(int32_t*)(data);// Convert to Matcv::MatoriginMat(pixelMapInfos.height,pixelMapInfos.width,CV_8UC4,saveBuffer);if(!originMat.data){OH_LOG_Print(LOG_APP,LOG_ERROR,0xFF00,Read Image,Pure : -1);returnerror;}// openCV defaults to BGRA or BGR. If the pixelmap is not created in one of these formats, a format conversion is requiredcv::Mat saveMat;cv::cvtColor(originMat,saveMat,cv::COLOR_BGRA2RGBA);charpathArray[1024];size_t length;napi_get_value_string_utf8(env,args[2],pathArray,1024,length);std::stringpath(pathArray);path/buffer.jpg;if(!cv::imwrite(path,saveMat)){OH_LOG_Print(LOG_APP,LOG_ERROR,0xFF00,Write Image,Pure : -1);returnerror;}napi_value res;napi_create_int32(env,1,res);returnres;}4. 使用OH_PixelMap_AccessPixels获取PixelMap的内存地址将这个内存地址中的数据转换为cv::mat的staticnapi_valueAccessToMat(napi_env env,napi_callback_info info){size_t argc2;napi_value args[2]{nullptr};napi_get_cb_info(env,info,argc,args,nullptr,nullptr);napi_value error;napi_create_int32(env,-1,error);NativePixelMap*nativeOH_PixelMap_InitNativePixelMap(env,args[0]);if(nativenullptr){returnerror;}structOhosPixelMapInfospixelMapInfos;if(OH_PixelMap_GetImageInfo(native,pixelMapInfos)!IMAGE_RESULT_SUCCESS){OH_LOG_Print(LOG_APP,LOG_ERROR,0xFF00,Test,Pure : -1);returnerror;}void*pixel;// Obtain the memory address of the NativePixelMap object and lock the memoryOH_PixelMap_AccessPixels(native,pixel);// Convert to Mat, pay attention to alignment, so rowSize needs to be passed incv::MatoriginMat(pixelMapInfos.height,pixelMapInfos.width,CV_8UC4,pixel,pixelMapInfos.rowSize);if(!originMat.data){OH_LOG_Print(LOG_APP,LOG_ERROR,0xFF00,Read Image,Pure : -1);returnerror;}// openCV defaults to BGRA or BGR. If the pixelmap is not created in one of these formats, a format conversion is requiredcv::Mat saveMat;cv::cvtColor(originMat,saveMat,cv::COLOR_BGRA2RGBA);charpathArray[1024];size_t length;napi_get_value_string_utf8(env,args[1],pathArray,1024,length);std::stringpath(pathArray);path/access.jpg;if(!cv::imwrite(path,saveMat)){OH_LOG_Print(LOG_APP,LOG_ERROR,0xFF00,Write Image,Pure : -1);returnerror;}napi_value res;napi_create_int32(env,1,res);returnres;}在HarmonyOS开发中针对图库支持硬解码的操作需要指定图像的内存空间大小。OH_PixelMap_AccessPixels() 获取图片的内存地址并锁定该内存。实际图像的大小需要按 lineStride 对齐。因此在构造成 mat 时需指定 lineStride 对齐。lineStride即 rowSize。可以使用 OH_GetImageInfo 获取 imageInfo其中包含 width、height 和 rowSize 等信息。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站换程序301北京高端购物商场

还在为网盘下载速度慢而烦恼吗?这款基于JavaScript开发的网盘直链解析工具能够帮助您获取文件的真实下载地址。项目基于"网盘直链下载助手"6.1.4版本优化,为用户提供更纯净、更高效的使用体验。 【免费下载链接】Online-disk-direct-link-down…

张小明 2025/12/26 5:21:44 网站建设

免费网站app哪个好网站托管共享服务器费用一年多少钱

DeepSeek-VL2重磅发布:新一代混合专家视觉语言模型引领多模态理解革命 【免费下载链接】deepseek-vl2-tiny 融合视觉与语言理解的DeepSeek-VL2-Tiny模型,小巧轻便却能力出众,处理图像问答、文档理解等任务得心应手,为多模态交互带…

张小明 2025/12/26 5:21:44 网站建设

网站开发的出路jsp做网站教程

TockOS嵌入式系统终极入门指南:从零开始构建安全物联网应用 【免费下载链接】tock 项目地址: https://gitcode.com/gh_mirrors/toc/tock TockOS是一款基于Rust语言的安全嵌入式操作系统,专为物联网和边缘计算场景设计。本指南将带领你从基础概念…

张小明 2025/12/26 5:21:45 网站建设

粉红色网站欣赏wordpress登陆地址修改密码

一、移动端自动化测试现状与挑战随着智能设备渗透率持续攀升,移动应用功能复杂度呈指数级增长。截至2025年,全球移动用户日均使用时长突破4小时,这对测试工作提出更高要求。传统手工测试面临三大瓶颈:设备碎片化(需覆盖…

张小明 2025/12/26 5:21:45 网站建设

代做网站跳转wordpress支付接口

数字信号处理:概念、问题与解答 在数字信号处理(DSP)领域,我们会遇到各种各样的概念、问题及解决方案。下面将对相关的知识点进行详细探讨。 1. 概率密度函数与噪声假设 在数字信号处理中,舍入操作的概率密度函数(PDF)是一个重要的概念。舍入的概率密度函数有两种情况…

张小明 2025/12/26 5:21:46 网站建设

网站自己可以备案吗联联周边游官网app下载

友善提示 支持JAVA、Python、大数据专业、小程序、PHP、APP、ASP.NET、Node.js、Vue、数据分析、可视化、推荐系统等各类系统定做,您出题目,我们按需求定做。或者我们出相关的选题,并定做系统都支持… 博主简介 作者简介:Java领…

张小明 2025/12/26 5:21:49 网站建设