可可图片编辑 实现 在上传图片,然后在已有图片上绘画的功能。
该功能主要也是利用了canvas画布功能,把选择的图片 转换成画布,然后在上面直接描绘。
演示如何通过CanvasRenderingContext2D的drawImage方法实现图片渲染及尺寸控制
创建渲染上下文
RenderingContextSettings配置抗锯齿属性(true表示启用)CanvasRenderingContext2D对象,作为2D绘图的入口加载图片资源
ImageBitmap全局类加载本地图片资源(“images/1.jpg”)构建UI布局
Column容器创建垂直布局.onReady生命周期回调确保Canvas初始化完成后执行绘制操作执行绘制操作
基础绘制:drawImage(this.img, 0, 0)将图片绘制在Canvas左上角(0,0)位置
缩放绘制:drawImage(this.img, 0, 150, 200, 150)
指定绘制区域,实现:
两种调用方式分别对应W3C标准的drawImage重载方法:
示例代码
实现图片资源的异步加载与Canvas上的自定义绘制,支持图片缩放/位置控制。
主要逻辑:
模块导入
@kit.ImageKit引入鸿蒙系统的图像处理能力,用于操作PixelMap像素数据。组件定义
@Entry标记为应用入口组件,@Component声明为自定义组件。CanvasRenderingContext2D渲染上下文,配置抗锯齿(RenderingContextSettings(true))。资源预加载
在 aboutToAppear
生命周期中:
image.createImageSource创建图片源(沙箱路径需替换为实际地址)。createPixelMap()异步生成像素数据,赋值给pixelMap变量。Canvas绘制
在build函数中构建UI,设置Canvas尺寸与背景色。
通过 onReady
回调确保Canvas初始化完成后:
pixelMap是否加载完成(避免空指针)。drawImage绘制图片,参数0,0,300,200表示将图片缩放至300x200尺寸并绘制到Canvas左上角。示例代码
最近想要想要考取 HarmonyOS 基础或者高级证书,或者快要获取的同学都可以点击这个链接,加入我的班级,考取成功有机会获得鸿蒙礼盒一份。
原文作者:万少-;如有侵权,请联系管理员删除。