HarmonyOS 鸿蒙Next图片如何裁切成圆形

发布于 1周前 作者 gougou168 来自 鸿蒙OS

HarmonyOS 鸿蒙Next图片如何裁切成圆形 我们有个功能是上传头像。
用户选取相册图片后,上传图片前,如何将图片裁切成圆形(此过程无GUI)

3 回复

可以参考以下文档实现:

  1. 形状裁剪的组件: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-sharp-clipping-V5?catalogVersion=V5

  2. 图形变换: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-transformation-V5?catalogVersion=V5

  3. 三方组件imageKnife的裁剪-ScaleType.CENTER_CROP: https://gitee.com/openharmony-tpc/ImageKnife

  4. 用户拍照后需要将图片进行区域选择裁剪后上传: https://gitee.com/openharmony/codelabs/tree/master/Media/ImageEdit 目前仅支持裁剪矩形图片,圆形暂不支持。可以保存矩形原图,在展示时处理为圆形

更多关于HarmonyOS 鸿蒙Next图片如何裁切成圆形的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


使用三方库

imageKnife

在HarmonyOS(鸿蒙)系统中,若要将图片裁切成圆形,可以通过自定义绘制的方式来实现。具体步骤如下:

  1. 准备图片资源:确保你有一张要裁切的图片资源,可以放在项目的resources目录下。

  2. 自定义View:创建一个自定义的View组件,用于绘制圆形图片。在这个自定义View中,重写onDraw方法。

  3. onDraw方法中绘制圆形图片:

    • 使用Canvas对象。
    • 通过Paint对象设置绘制属性,如抗锯齿、颜色等。
    • 使用BitmapFactory加载图片资源,并转换为Bitmap
    • 使用BitmapShaderBitmap包装成着色器,并设置给Paint对象。
    • 使用Canvas.drawCircle方法绘制圆形,此时圆形内部填充的就是你的图片。
  4. 在布局文件中使用自定义View:在你的布局XML文件中,引用这个自定义View组件。

  5. 设置图片资源:在自定义View的构造函数或某个setter方法中,传入要裁切的图片资源。

通过上述步骤,你可以在HarmonyOS应用中实现图片的圆形裁切。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部