图片缩放在图像编缉时是常见的操作。下面的示例实现了通地Canvas的方式对image.PixelMap类型的图片实例,缩放至指定的宽度,并生成新的image.PixelMap实例。
export function zoomPixelMapInWidth_scale(imagePixelMap: PixelMap,
width:number): image.PixelMap {
const imageInfo = imagePixelMap.getImageInfoSync();
const buffer = new ArrayBuffer(imagePixelMap.getPixelBytesNumber());
imagePixelMap.readPixelsToBufferSync(buffer);
const options: image.InitializationOptions = {
srcPixelFormat: imageInfo.pixelFormat,
pixelFormat: imageInfo.pixelFormat,
size: imageInfo.size
};
let newImage = image.createPixelMapSync(buffer, options);
newImage.scale(width/imageInfo.size.width,width/imageInfo.size.width);
return newImage;
}
调用代码如下
// imagePixelMap是image.PixelMap类型实例,256是px
let imagePixelMap1 = zoomPixelMapInWidth_scale(imagePixelMap,256);