mirror of
https://gitee.com/openharmony-tpc/ImageKnife.git
synced 2026-05-24 17:25:44 +08:00
修改3.x版本demo首页+readme补充3.x差异
Signed-off-by: madixin <madixin@huawei.com>
This commit is contained in:
33
README.md
33
README.md
@@ -12,22 +12,31 @@
|
||||
- 支持option自定义实现图片获取/网络下载
|
||||
- 支持监听网络下载回调进度
|
||||
- 继承Image的能力,支持option传入border,设置边框,圆角
|
||||
- 继承Image的能力,支持option传入objectFit设置图片缩放
|
||||
- 继承Image的能力,支持option传入objectFit设置图片缩放,包括objectFit为auto时根据图片自适应高度
|
||||
- 支持通过设置transform缩放图片
|
||||
- 并发请求数量,支持请求排队队列的优先级
|
||||
- 支持生命周期已销毁的图片,不再发起请求
|
||||
|
||||
待实现特性
|
||||
- gif/webp动图显示与控制
|
||||
- 内存降采样优化,节约内存的占用
|
||||
- 支持自定义图片加载和请求并发数量
|
||||
- 支持声明周期已销毁的图片,不再发起请求
|
||||
- 支持自定义图片加载
|
||||
- 支持自定义图片解码
|
||||
- 支持自定义key的实现
|
||||
- 支持进行图片变换: 支持图像像素源图片变换效果。
|
||||
|
||||
待确认arkui的能力
|
||||
- 精确获取开发者给组件设置的宽和高
|
||||
- 动图的显示与控制
|
||||
注意:3.x版本相对2.x版本做了重大的重构,主要体现在:
|
||||
- 使用Image组件代替Canvas组件渲染
|
||||
- 重构Dispatch分发逻辑,支持控制并发请求数,支持请求排队队列的优先级
|
||||
- 支持通过initMemoryCache自定义策略内存缓存策略和大小。
|
||||
- 支持option自定义实现图片获取/网络下载
|
||||
因此API及能力上,目前有部分差异,主要体现在:
|
||||
- 不支持drawLifeCycle接口,通过canvas自会图片
|
||||
- mainScaleType,border等参数,新版本与系统Image保持一致
|
||||
- gif/webp动图播放与控制
|
||||
- signature自定义key的实现
|
||||
- 支持进行图片变换: 支持图像像素源图片变换效果。
|
||||
- 抗锯齿相关参数
|
||||
|
||||
## 下载安装
|
||||
```
|
||||
@@ -39,7 +48,7 @@ ohpm install @ohos/imageknife
|
||||
```
|
||||
ImageKnifeComponent({
|
||||
ImageKnifeOption: {
|
||||
src: $r("app.media.app_icon"),
|
||||
loadSrc: $r("app.media.app_icon"),
|
||||
placeholderSrc: $r("app.media.loading"),
|
||||
errorholderSrc: $r("app.media.app_icon"),
|
||||
objectFit: ImageFit.Auto
|
||||
@@ -51,7 +60,7 @@ ImageKnifeComponent({
|
||||
```
|
||||
ImageKnifeComponent({
|
||||
ImageKnifeOption: {
|
||||
src: this.localFile,
|
||||
loadSrc: this.localFile,
|
||||
placeholderSrc: $r("app.media.loading"),
|
||||
errorholderSrc: $r("app.media.app_icon"),
|
||||
objectFit: ImageFit.Auto
|
||||
@@ -63,7 +72,7 @@ ImageKnifeComponent({
|
||||
```
|
||||
ImageKnifeComponent({
|
||||
ImageKnifeOption: {
|
||||
src:"https://www.openharmony.cn/_nuxt/img/logo.dcf95b3.png",
|
||||
loadSrc:"https://www.openharmony.cn/_nuxt/img/logo.dcf95b3.png",
|
||||
placeholderSrc: $r("app.media.loading"),
|
||||
errorholderSrc: $r("app.media.app_icon"),
|
||||
objectFit: ImageFit.Auto
|
||||
@@ -75,7 +84,7 @@ ImageKnifeComponent({
|
||||
```
|
||||
ImageKnifeComponent({
|
||||
ImageKnifeOption: {
|
||||
src: "https://file.atomgit.com/uploads/user/1704857786989_8994.jpeg",
|
||||
loadSrc: "https://file.atomgit.com/uploads/user/1704857786989_8994.jpeg",
|
||||
placeholderSrc: $r("app.media.loading"),
|
||||
errorholderSrc: $r("app.media.app_icon"),
|
||||
objectFit: ImageFit.Auto,
|
||||
@@ -96,7 +105,7 @@ async function custom(context: Context, src: string | PixelMap | Resource): Prom
|
||||
```
|
||||
ImageKnifeComponent({
|
||||
ImageKnifeOption: {
|
||||
src:"https://www.openharmony.cn/_nuxt/img/logo.dcf95b3.png",
|
||||
loadSrc:"https://www.openharmony.cn/_nuxt/img/logo.dcf95b3.png",
|
||||
progressListener:(progress:number)=>{console.info("ImageKinfe:: call back progress = " + progress)}
|
||||
}
|
||||
}).width(100).height(100)
|
||||
@@ -105,7 +114,7 @@ ImageKnifeComponent({
|
||||
```
|
||||
ImageKnifeComponent({ ImageKnifeOption:
|
||||
{
|
||||
src: $r("app.media.rabbit"),
|
||||
loadSrc: $r("app.media.rabbit"),
|
||||
border: {radius:50}
|
||||
}
|
||||
}).width(100).height(100)
|
||||
|
||||
Reference in New Issue
Block a user