From e79557cf7c110cae2cbacb5199f3c9a88aaecd61 Mon Sep 17 00:00:00 2001 From: tsm Date: Thu, 10 Oct 2024 19:57:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/pages/DownSamplePage.ets | 20 +++++++++++-------- .../main/ets/downsampling/DownsampleUtils.ets | 2 +- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/entry/src/main/ets/pages/DownSamplePage.ets b/entry/src/main/ets/pages/DownSamplePage.ets index e4ff7ba..2922f03 100644 --- a/entry/src/main/ets/pages/DownSamplePage.ets +++ b/entry/src/main/ets/pages/DownSamplePage.ets @@ -126,16 +126,20 @@ struct DownSamplePage { desiredPixelFormat: 3, } let imageInfo = await imageSource.getImageInfo() - let reqSize = - new Downsampler().calculateScaling(typeValue, imageInfo.size.width, imageInfo.size.height, 300, - 300, this.imageKnifeOption.downsampleOf) - decodingOptions = { - editable: true, - desiredSize: { - width: reqSize.width, - height: reqSize.height + + if (this.imageKnifeOption.downsampleOf !== DownsampleStrategy.NONE){ + let reqSize = + new Downsampler().calculateScaling(typeValue, imageInfo.size.width, imageInfo.size.height, 300, + 300, this.imageKnifeOption.downsampleOf) + decodingOptions = { + editable: true, + desiredSize: { + width: reqSize.width, + height: reqSize.height + } } } + // 创建pixelMap imageSource.createPixelMap(decodingOptions).then((pixelMap: image.PixelMap) => { this.afterSampling = pixelMap.getPixelBytesNumber() diff --git a/library/src/main/ets/downsampling/DownsampleUtils.ets b/library/src/main/ets/downsampling/DownsampleUtils.ets index 2a8af50..cd8efdb 100644 --- a/library/src/main/ets/downsampling/DownsampleUtils.ets +++ b/library/src/main/ets/downsampling/DownsampleUtils.ets @@ -28,7 +28,7 @@ export enum SampleSizeRounding { //(质量优先) QUALITY } - +//找出给定整数 i 中最高位的1(即最左边的1)所代表的值 export function highestOneBit(i: number): number { i |= (i >> 1); i |= (i >> 2);