From 8c025e5d022ffb2fa97bacdaffd3a0f2259f6e07 Mon Sep 17 00:00:00 2001 From: qiujietian Date: Thu, 29 Aug 2024 20:13:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EaspectRatio=E5=8F=82=E6=95=B0?= =?UTF-8?q?,=20=E4=BF=AE=E5=A4=8D=E6=9F=90=E4=BA=9B=E6=83=85=E5=86=B5?= =?UTF-8?q?=E4=B8=8B=E7=BB=84=E4=BB=B6=E5=86=85=E7=9A=84=20Image=20?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E5=9B=BE=E7=89=87=E6=88=90=E5=8A=9F=E5=90=8E?= =?UTF-8?q?=E5=8F=AA=E6=9C=89componentWith,=20=E4=BD=86=E6=98=AFcomponentH?= =?UTF-8?q?eight=3D0=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/pages/SingleImage.ets | 14 +++++++++++++- library/src/main/ets/ImageKnifeOption.ets | 3 +++ .../main/ets/components/ImageKnifeComponent.ets | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/entry/src/main/ets/pages/SingleImage.ets b/entry/src/main/ets/pages/SingleImage.ets index b92d6eb..b850b82 100644 --- a/entry/src/main/ets/pages/SingleImage.ets +++ b/entry/src/main/ets/pages/SingleImage.ets @@ -50,7 +50,7 @@ struct SingleImage { loadSrc: $r("app.media.svgSample"), placeholderSrc: $r("app.media.loading"), errorholderSrc: $r("app.media.failed"), - objectFit: ImageFit.Contain + objectFit: ImageFit.Contain, }) }).width(100).height(100) .onClick(()=>{ @@ -67,6 +67,18 @@ struct SingleImage { objectFit: ImageFit.Contain }) }).width(100).height(100) + Text("测试aspectRatio") + .fontSize(30) + .fontWeight(FontWeight.Bold) + ImageKnifeComponent({ + imageKnifeOption: new ImageKnifeOption({ + loadSrc: this.localFile, + placeholderSrc: $r("app.media.loading"), + errorholderSrc: $r("app.media.failed"), + objectFit: ImageFit.Contain, + aspectRatio: 1.5 + }) + }).width(100).height(100).backgroundColor(Color.Red) Text("网络图片") .fontSize(30) .fontWeight(FontWeight.Bold) diff --git a/library/src/main/ets/ImageKnifeOption.ets b/library/src/main/ets/ImageKnifeOption.ets index 3a9bf6f..9d98bf5 100644 --- a/library/src/main/ets/ImageKnifeOption.ets +++ b/library/src/main/ets/ImageKnifeOption.ets @@ -90,6 +90,7 @@ interface ImageOption { onLoadListener?: OnLoadCallBack | undefined; onComplete?:(event:EventImage | undefined) => void drawingColorFilter?: ColorFilter | drawing.ColorFilter + aspectRatio?: number; } @ObservedV2 export class ImageKnifeOption { @@ -121,6 +122,7 @@ export class ImageKnifeOption { onLoadListener?: OnLoadCallBack | undefined; onComplete?:(event:EventImage | undefined) => void drawingColorFilter?: ColorFilter | drawing.ColorFilter + aspectRatio?: number; constructor(option?:ImageOption) { this.loadSrc = option?.loadSrc == undefined ? "" : option?.loadSrc this.placeholderSrc = option?.placeholderSrc @@ -141,6 +143,7 @@ export class ImageKnifeOption { this.onLoadListener = option?.onLoadListener this.onComplete = option?.onComplete this.drawingColorFilter = option?.drawingColorFilter + this.aspectRatio = option?.aspectRatio } } diff --git a/library/src/main/ets/components/ImageKnifeComponent.ets b/library/src/main/ets/components/ImageKnifeComponent.ets index 29a2b20..5052e51 100644 --- a/library/src/main/ets/components/ImageKnifeComponent.ets +++ b/library/src/main/ets/components/ImageKnifeComponent.ets @@ -93,6 +93,7 @@ export struct ImageKnifeComponent { .border(this.imageKnifeOption.border) .syncLoad(this.syncLoad) .draggable(false) + .aspectRatio(this.imageKnifeOption.aspectRatio) .onComplete(this.imageKnifeOption.onComplete) .onSizeChange((oldValue:SizeOptions, newValue:SizeOptions) => { this.currentWidth = newValue.width as number