深圳市信言软件工作室开源库: oh-crop

📚 简介

oh-crop: OpenHarmony/HarmonyOS上的简单的图片剪裁库,可用于头像剪裁等常见场景。

代码仓库:oh-crop

📚 下载安装

ohpm i @xinyansoft/oh-crop

OpenHarmony ohpm 环境配置等更多内容,请参考: 下载安装三方库

📚 使用

  1. 定义CropModel对象
@State private model: CropModel = new CropModel();
...  
this.model.setImage(src)
      .setFrameWidth(1000)
      .setFrameRatio(1);
  1. 使用CropView
CropView({
  model: this.model,
})
  .layoutWeight(1)
  .width('100%')

CropView仅仅包含图片的显示和手势操作、遮罩、取景框。

  1. 剪裁
let pm = await this.model.crop();
  1. 使用得到的PixelMap去实现你的业务逻辑

📚 CropModel支持的配置项

/**
* 图片uri
* 类型判断太麻烦了,先只支持string,其他形式的需要先转换成路径
*/
src: string = '';
/**
* 图片预览
*/
previewSource: string | Resource = '';
/**
* 是否可以拖动
*/
panEnabled: boolean = true;
/**
* 是否可以缩放
*/
zoomEnabled: boolean = true;
/**
* 取景框宽度
*/
frameWidth = 1000;
/**
* 取景框宽高比
*/
frameRatio = 1;
/**
* 遮罩颜色
*/
maskColor: string = '#AA000000';
/**
* 取景框边框颜色
*/
strokeColor: string = '#FFFFFF';
/**
* 图片加载监听
*/
imageLoadEventListener: ImageLoadEventListener | null = null;

CropModel设置也支持setter链式调用。