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);