2017-09-11 3 views
0

Je veux réduire la taille des images prises par l'API de l'appareil photo, mais la qualité réduire n'est pas bonne. Le mieux est de réduire la résolution, mais je ne veux pas utiliser la largeur et la hauteur de la cible pour toutes les images. Par exemple, je souhaite que la largeur de l'image soit de 1280 et que la hauteur de l'image change automatiquement par son rapport, mais dans l'API, j'utilise la largeur et la hauteur exactes.Comment redimensionner l'image dans Ionic 3 sans réduire la qualité et la largeur et la hauteur de la cible?

Comment changer la hauteur dynamique par rapport à l'image ???

Pour l'instant, j'utiliser ce code:

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

Répondre

1

J'utilise l'API image Resizer native à huis clos et il fonctionne. lorsque la valeur pour affecter la largeur et la hauteur tourner plus une à la valeur cible et régler un autre par rapport initial .. voici mon code:

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

}