2017-09-11 13 views
0

カメラAPIで撮影した画像のサイズを小さくしたいが、画質の低下は良くありません。最良のことは解像度を下げることですが、私はすべての画像に目標の幅と高さを使用したくありません。Ionic 3で画像のサイズを変更するには、画質を落とさずにターゲットの幅と高さを減らしますか?

たとえば、イメージの幅を1280にし、イメージの高さをその比率で自動的に変更したいのですが、APIでは正確な幅と高さを使用する必要があります。

画像の高さを動的に変更するにはどうすればよいですか?今の

、私はこのコードを使用します。

this.camera.getPicture({ 
    quality: 60, 
    destinationType: this.camera.DestinationType.FILE_URI, 
    sourceType: sourceType, 
    mediaType: this.camera.MediaType.PICTURE, 
    targetWidth: 1280, 
    targetHeight: 1280, 
    encodingType: this.camera.EncodingType.JPEG, 
    saveToPhotoAlbum: (source === PictureSource.CAMERA), 
    allowEdit: true 
}) 

答えて

1

私はカメラ内の画像サイズ変更のネイティブAPIを使用して、それが動作します。値は、幅と高さを割り当てるときには、目標値を1つの大きな電源を入れ、元の比率で別のものを調整.. ここに私のコードである:

this.camera.getPicture({ 
    destinationType: this.camera.DestinationType.FILE_URI, 
    sourceType: sourceType, 
    mediaType: this.camera.MediaType.PICTURE, 
    encodingType: this.camera.EncodingType.JPEG, 
    saveToPhotoAlbum: (source === PictureSource.CAMERA), 
    allowEdit: true 
}) 
    .then(imageUri => { 
    this.imageResizer.resize({ 
     uri: imageUri, 
     quality: 60, 
     width: 1280, 
     height: 1280 
    }).then(uri => handler(uri)) 
    }) 
    .catch(error => console.warn(error)) 

}

関連する問題