Установка камеры и ширины телефонной камеры

В настоящее время я создаю мобильное приложение, которое использует плагин камеры Phonegap (Cordova) . Он правильно отображает изображение и отображает его там, где я хочу, но я не могу установить параметры targetWidth и targetHeight, как описано.

TargetWidth: ширина в пикселях для масштабирования изображения. Должен использоваться с targetHeight. Соотношение сторон остается постоянным. (Число)

TargetHeight: Высота в пикселях для масштабирования изображения. Должен использоваться с targetWidth. Соотношение сторон остается постоянным. (Число)

Насколько я понимаю, это изменит ширину и высоту изображения на выходе. Они, похоже, не работают.

Предложение, которое я обнаружил при исследовании решения, сказал, что использует необязательный параметр allowEdit . В этом я мог бы заставить пользователя выбрать предустановленное квадратное изображение. Это, однако, похоже, не работает.

См. Мой код ниже для справки.

 camera: function() { //Fire up the camera! navigator.camera.getPicture(onSuccess, onFail, { destinationType: Camera.DestinationType.DATA_URL, allowEdit: true, targetWidth: 512, targetHeight: 512 }); }, 

Ни один из мастеров не смог добиться того, чего я хотел; Фиксированная ширина и высота для захваченного изображения.

Как установить ширину и высоту изображения на этом изображении?

Solutions Collecting From Web of "Установка камеры и ширины телефонной камеры"

Попробуй этого моего друга. allowEdit : true

 camera: function() { navigator.camera.getPicture(onSuccess, onFail, { quality: 50, targetWidth: 512, targetHeight: 512, destinationType: navigator.camera.DestinationType. DATA_URL, saveToPhotoAlbum: true, correctOrientation: true }); } 

Как насчет изменения вашего ума для изменения размера изображения после его захвата?

Полезная статья для изменения размера изображения с помощью HTML5 Canvas

Я использую следующий, и он работает хорошо.

 { quality: 25, targetWidth: 500, targetHeight: 500, destinationType: Camera.DestinationType.FILE_URI, sourceType: Camera.PictureSourceType.CAMERA, correctOrientation: true } 

Также возможно изменить собственный код плагина в соответствии с собственными потребностями. В случае, если вы используете Android. Вот исправление.

Внутри функции выполнения оба параметра устанавливаются по умолчанию как ноль, что означает полный размер, захваченный устройством, иначе, если некоторые значения передаются параметрами args, тогда они учитываются.

  public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { this.callbackContext = callbackContext; if (action.equals("takePicture")) { int srcType = CAMERA; int destType = FILE_URI; this.saveToPhotoAlbum = false; this.targetHeight = 0; this.targetWidth = 0; this.encodingType = JPEG; this.mediaType = PICTURE; this.mQuality = 80; this.mQuality = args.getInt(0); destType = args.getInt(1); srcType = args.getInt(2); this.targetWidth = args.getInt(3); this.targetHeight = args.getInt(4); this.encodingType = args.getInt(5); this.mediaType = args.getInt(6); this.allowEdit = args.getBoolean(7); this.correctOrientation = args.getBoolean(8); this.saveToPhotoAlbum = args.getBoolean(9); 

См .: https://github.com/apache/cordova-plugin-camera/blob/master/src/android/CameraLauncher.java#L115

Если возможно, вы можете установить его также в собственном коде и отлично работать.