arnaucube
arnaucube/openEventsPlatformAppPublic Self-hosted repository
openEventsPlatformApp/plugins/cordova-plugin-camera/doc/ru/index.md
plugins/cordova-plugin-camera/doc/ru/index.mdRaw
  1<!---
  2    Licensed to the Apache Software Foundation (ASF) under one
  3    or more contributor license agreements.  See the NOTICE file
  4    distributed with this work for additional information
  5    regarding copyright ownership.  The ASF licenses this file
  6    to you under the Apache License, Version 2.0 (the
  7    "License"); you may not use this file except in compliance
  8    with the License.  You may obtain a copy of the License at
  9
 10      http://www.apache.org/licenses/LICENSE-2.0
 11
 12    Unless required by applicable law or agreed to in writing,
 13    software distributed under the License is distributed on an
 14    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 15    KIND, either express or implied.  See the License for the
 16    specific language governing permissions and limitations
 17    under the License.
 18-->
 19
 20# cordova-plugin-camera
 21
 22Этот плагин предоставляет API для съемки и для выбора изображения из библиотеки изображений системы.
 23
 24    cordova plugin add cordova-plugin-camera
 25    
 26
 27## navigator.camera.getPicture
 28
 29Снимает фотографию с помощью камеры, или получает фотографию из галереи изображений устройства. Изображение передается на функцию обратного вызова успешного завершения как `String` в base64-кодировке, или как URI указывающего на файл изображения. Метод возвращает объект `CameraPopoverHandle`, который может использоваться для перемещения инструмента выбора файла.
 30
 31    navigator.camera.getPicture( cameraSuccess, cameraError, cameraOptions );
 32    
 33
 34### Описание
 35
 36Функция `camera.getPicture` открывает приложение камеры устройства, которое позволяет снимать фотографии. Это происходит по умолчанию, когда `Camera.sourceType` равно `Camera.PictureSourceType.CAMERA` . Как только пользователь делает снимок,приложение камеры закрывается и приложение восстанавливается.
 37
 38Если `Camera.sourceType` является `Camera.PictureSourceType.PHOTOLIBRARY` или `Camera.PictureSourceType.SAVEDPHOTOALBUM` , то показывается диалоговое окно, которое позволяет пользователям выбрать существующее изображение. Функция `camera.getPicture` возвращает объект `CameraPopoverHandle` объект, который может использоваться для перемещения диалога выбора изображения, например, при изменении ориентации устройства.
 39
 40Возвращаемое значение отправляется в функцию обратного вызова `cameraSuccess` в одном из следующих форматов, в зависимости от параметра `cameraOptions` :
 41
 42*   A объект `String` содержащий фото изображение в base64-кодировке.
 43
 44*   Объект `String` представляющий расположение файла изображения на локальном хранилище (по умолчанию).
 45
 46Вы можете сделать все, что угодно вы хотите с закодированным изображением или URI, например:
 47
 48*   Отобразить изображение с помощью тега `<img>`, как показано в примере ниже
 49
 50*   Сохранять данные локально (`LocalStorage`, [Lawnchair][1], и т.д.)
 51
 52*   Отправлять данные на удаленный сервер
 53
 54 [1]: http://brianleroux.github.com/lawnchair/
 55
 56**Примечание**: разрешение фото на более новых устройствах является достаточно хорошим. Фотографии из галереи устройства не масштабируются к более низкому качеству, даже если указан параметр `quality`. Чтобы избежать общих проблем с памятью, установите `Camera.destinationType` в `FILE_URI` вместо `DATA_URL`.
 57
 58### Поддерживаемые платформы
 59
 60*   Amazon Fire OS
 61*   Android
 62*   BlackBerry 10
 63*   Обозреватель
 64*   Firefox OS
 65*   iOS
 66*   Tizen
 67*   Windows Phone 7 и 8
 68*   Windows 8
 69
 70### Предпочтения (iOS)
 71
 72*   **CameraUsesGeolocation** (логическое значение, по умолчанию false). Для захвата изображения JPEG, значение true, чтобы получить данные геопозиционирования в заголовке EXIF. Это вызовет запрос на разрешения геолокации, если задано значение true.
 73    
 74        <preference name="CameraUsesGeolocation" value="false" />
 75        
 76
 77### Особенности Amazon Fire OS
 78
 79Amazon Fire OS используют намерения для запуска активности камеры на устройстве для съемки фотографий, и на устройствах с низким объемам памяти, активность Cordova может быть завершена. В этом случае изображение может не появиться при восстановлении активности Cordova.
 80
 81### Особенности Android
 82
 83Android используют намерения для запуска активности камеры на устройстве для съемки фотографий, и на устройствах с низким объемам памяти, активность Cordova может быть завершена. В этом случае изображение может не появиться при восстановлении активности Cordova.
 84
 85### Браузер причуды
 86
 87Может возвращать только фотографии как изображения в кодировке base64.
 88
 89### Особенности Firefox OS
 90
 91Плагин Camera на данный момент реализован с использованием [Web Activities][2].
 92
 93 [2]: https://hacks.mozilla.org/2013/01/introducing-web-activities/
 94
 95### Особенности iOS
 96
 97Включение функции JavaScript `alert()` в любой из функций обратного вызова функции может вызвать проблемы. Оберните вызов alert в `setTimeout()` для позволения окну выбора изображений iOS полностью закрыться перед отображение оповещения:
 98
 99    setTimeout(function() {/ / ваши вещи!}, 0);
100    
101
102### Особенности Windows Phone 7
103
104Вызов встроенного приложения камеры, в то время как устройство подключено к Zune не работает, и инициирует обратный вызов для ошибки.
105
106### Особенности Tizen
107
108Tizen поддерживает только значение `destinationType` равное `Camera.DestinationType.FILE_URI` и значение `sourceType` равное `Camera.PictureSourceType.PHOTOLIBRARY`.
109
110### Пример
111
112Сделайте фотографию и получите его как изображение в base64-кодировке:
113
114    navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
115        destinationType: Camera.DestinationType.DATA_URL
116    });
117    
118    function onSuccess(imageData) {
119        var image = document.getElementById('myImage');
120        image.src = "data:image/jpeg;base64," + imageData;
121    }
122    
123    function onFail(message) {
124        alert('Failed because: ' + message);
125    }
126    
127
128Сделайте фотографию и получить расположение файла с изображением:
129
130    navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
131        destinationType: Camera.DestinationType.FILE_URI });
132    
133    function onSuccess(imageURI) {
134        var image = document.getElementById('myImage');
135        image.src = imageURI;
136    }
137    
138    function onFail(message) {
139        alert('Failed because: ' + message);
140    }
141    
142
143## CameraOptions
144
145Необязательные параметры для настройки параметров камеры.
146
147    { quality : 75,
148      destinationType : Camera.DestinationType.DATA_URL,
149      sourceType : Camera.PictureSourceType.CAMERA,
150      allowEdit : true,
151      encodingType: Camera.EncodingType.JPEG,
152      targetWidth: 100,
153      targetHeight: 100,
154      popoverOptions: CameraPopoverOptions,
155      saveToPhotoAlbum: false };
156    
157
158### Параметры
159
160*   **quality**: качество сохраняемого изображения, выражается в виде числа в диапазоне от 0 до 100, где 100 является обычно полным изображением без потери качества при сжатии. Значение по умолчанию — 50. *(Число)* (Обратите внимание, что информация о разрешении камеры недоступна.)
161
162*   **параметр destinationType**: выберите формат возвращаемого значения. Значение по умолчанию — FILE_URI. Определяется в `navigator.camera.DestinationType` *(число)*
163    
164        Camera.DestinationType = {
165        DATA_URL: 0, / / возвращение изображения в base64-кодировке строки 
166        FILE_URI: 1, / / возврат файла изображения URI 
167        NATIVE_URI: 2 / / возвращение образа собственного URI (например, Библиотека активов: / / на iOS или содержание: / / на андроиде)
168        };
169        
170
171*   **тип источника**: установить источник рисунка. По умолчанию используется камера. Определяется в `navigator.camera.PictureSourceType` *(число)*
172    
173        Camera.PictureSourceType = {
174        PHOTOLIBRARY: 0, 
175        CAMERA: 1, 
176        SAVEDPHOTOALBUM: 2
177        };
178        
179
180*   **allowEdit**: позволит редактирование изображения средствами телефона перед окончательным выбором изображения. *(Логический)*
181
182*   **Тип_шифрования**: выберите возвращенный файл в кодировку. Значение по умолчанию — JPEG. Определяется в `navigator.camera.EncodingType` *(число)*
183    
184        Camera.EncodingType = {
185        JPEG: 0, // возвращает изображение в формате JPEG
186        PNG: 1 // возвращает рисунок в формате PNG
187        };
188        
189
190*   **targetWidth**: ширина изображения в пикселах к которой необходимо осуществить масштабирование. Это значение должно использоваться совместно с **targetHeight**. Пропорции изображения останутся неизменными. *(Число)*
191
192*   **targetHeight**: высота изображения в пикселах к которой необходимо осуществить масштабирование. Это значение должно использоваться совместно с **targetWidth**. Пропорции изображения останутся неизменными. *(Число)*
193
194*   **тип носителя**: Установите источник получения изображения, из которого надо выбрать изображение. Работает только если `PictureSourceType` равно `PHOTOLIBRARY` или `SAVEDPHOTOALBUM` . Определяется в `nagivator.camera.MediaType` *(число)*
195    
196        Camera.MediaType = {
197        PICTURE: 0, / / разрешить выбор только сохраненных изображений. DEFAULT. Will return format specified via DestinationType
198            VIDEO: 1,      // allow selection of video only, WILL ALWAYS RETURN FILE_URI
199            ALLMEDIA : 2   // allow selection from all media types
200        };
201        
202
203*   **correctOrientation**: вращает изображение, чтобы внести исправления к ориентации устройства во время захвата. *(Логический)*
204
205*   **saveToPhotoAlbum**: сохранить изображение в фотоальбом на устройстве после захвата. *(Логическое)*
206
207*   **popoverOptions**: только для iOS параметры, которые определяют местоположение инструмента в iPad. Определены в`CameraPopoverOptions`.
208
209*   **cameraDirection**: выбрать камеру для использования (передней или задней стороне). Значение по умолчанию — обратно. Определяется в `navigator.camera.Direction` *(число)*
210    
211        Camera.Direction = {
212            BACK : 0,      // Use the back-facing camera
213            FRONT : 1      // Use the front-facing camera
214        };
215        
216
217### Особенности Amazon Fire OS
218
219*   Любое значение `cameraDirection` возвращает фотографию сделанную задней камерой.
220
221*   Игнорирует параметр `allowEdit`.
222
223*   Оба параметра `Camera.PictureSourceType.PHOTOLIBRARY` и `Camera.PictureSourceType.SAVEDPHOTOALBUM` отображают один и тот же фотоальбом.
224
225### Особенности Android
226
227*   Любое значение `cameraDirection` возвращает фотографию сделанную задней камерой.
228
229*   Игнорирует параметр `allowEdit`.
230
231*   Оба параметра `Camera.PictureSourceType.PHOTOLIBRARY` и `Camera.PictureSourceType.SAVEDPHOTOALBUM` отображают один и тот же фотоальбом.
232
233### Особенности BlackBerry 10
234
235*   Игнорирует `quality` параметр.
236
237*   Игнорирует параметр `allowEdit`.
238
239*   `Camera.MediaType` не поддерживается.
240
241*   Игнорирует параметр `correctOrientation`.
242
243*   Игнорирует параметр `cameraDirection`.
244
245### Особенности Firefox OS
246
247*   Игнорирует `quality` параметр.
248
249*   Значение `Camera.DestinationType` игнорируется и равно `1` (URI для файла изображения)
250
251*   Игнорирует параметр `allowEdit`.
252
253*   Игнорирует параметр `PictureSourceType` (пользователь выбирает его в диалоговом окне)
254
255*   Игнорирует параметр `encodingType`
256
257*   Игнорирует `targetWidth` и `targetHeight`
258
259*   `Camera.MediaType` не поддерживается.
260
261*   Игнорирует параметр `correctOrientation`.
262
263*   Игнорирует параметр `cameraDirection`.
264
265### Особенности iOS
266
267*   Установите `quality` ниже 50, для того чтобы избежать ошибок памяти на некоторых устройствах.
268
269*   При использовании `destinationType.FILE_URI` , фотографии сохраняются во временном каталоге приложения. Содержимое приложения временного каталога удаляется при завершении приложения.
270
271### Особенности Tizen
272
273*   options, не поддерживается
274
275*   всегда возвращает URI файла
276
277### Особенности Windows Phone 7 и 8
278
279*   Игнорирует параметр `allowEdit`.
280
281*   Игнорирует параметр `correctOrientation`.
282
283*   Игнорирует параметр `cameraDirection`.
284
285*   Игнорирует `saveToPhotoAlbum` параметр. Важно: Все изображения, снятые камерой wp7/8 cordova API всегда копируются в рулон камеры телефона. В зависимости от параметров пользователя это также может означать, что изображение автоматически загружены на их OneDrive. Потенциально это может означать, что этот образ доступен для более широкой аудитории, чем ваше приложение предназначено. Если этот блокатор для вашего приложения, вам нужно будет осуществить CameraCaptureTask, как описано на сайте msdn: <http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394006.aspx> вы можете также комментарий или вверх голосование связанный с этим вопрос [отслеживания][3]
286
287*   Игнорирует свойство `mediaType` объекта `cameraOptions` так как Windows Phone SDK не предоставляет способ выбрать видео из PHOTOLIBRARY.
288
289 [3]: https://issues.apache.org/jira/browse/CB-2083
290
291## CameraError
292
293Функция обратного вызова вызываемая в случае возникновения ошибки.
294
295    function(message) {
296        // Show a helpful message
297    }
298    
299
300### Параметры
301
302*   **сообщение**: сообщение об ошибке предоставляемое платформой устройства. *(Строка)*
303
304## cameraSuccess
305
306Функция обратного вызова onSuccess, получающая данные изображения.
307
308    function(imageData) {
309        // Do something with the image
310    }
311    
312
313### Параметры
314
315*   **imageData**: Данные изображения в Base64 кодировке, *или* URI, в зависимости от применяемых параметров `cameraOptions`. *(Строка)*
316
317### Пример
318
319    // Show image
320    //
321    function cameraCallback(imageData) {
322        var image = document.getElementById('myImage');
323        image.src = "data:image/jpeg;base64," + imageData;
324    }
325    
326
327## CameraPopoverHandle
328
329Дескриптор диалогового окна инструмента, созданный `navigator.camera.getPicture`.
330
331### Методы
332
333*   **setPosition**: Задайте положение инструмента выбора изображения.
334
335### Поддерживаемые платформы
336
337*   iOS
338
339### setPosition
340
341Устанавливает положение инструмента выбора изображения.
342
343**Параметры**:
344
345*   `cameraPopoverOptions`: Объект `CameraPopoverOptions`, определяющий новое положение
346
347### Пример
348
349     var cameraPopoverHandle = navigator.camera.getPicture(onSuccess, onFail,
350         { destinationType: Camera.DestinationType.FILE_URI,
351           sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
352           popoverOptions: new CameraPopoverOptions(300, 300, 100, 100, Camera.PopoverArrowDirection.ARROW_ANY)
353         });
354    
355     // Reposition the popover if the orientation changes.
356     window.onorientationchange = function() {
357         var cameraPopoverOptions = new CameraPopoverOptions(0, 0, 100, 100, Camera.PopoverArrowDirection.ARROW_ANY);
358         cameraPopoverHandle.setPosition(cameraPopoverOptions);
359     }
360    
361
362## CameraPopoverOptions
363
364Параметры только для iOS, которые определяют расположение элемента привязки и направление стрелки инструмента при выборе изображений из библиотеки изображений iPad или альбома.
365
366    {x: 0, y: 32, ширина: 320, высота: 480, arrowDir: Camera.PopoverArrowDirection.ARROW_ANY};
367    
368
369### CameraPopoverOptions
370
371*   **x**: x координата в пикселях элемента экрана, на котором закрепить инструмента. *(Число)*
372
373*   **x**: y координата в пикселях элемента экрана, на котором закрепить инструмента. *(Число)*
374
375*   **width**: ширина в пикселях элемента экрана, на котором закрепить инструмент выбора изображения. *(Число)*
376
377*   **height**: высота в пикселях элемента экрана, на котором закрепить инструмент выбора изображения. *(Число)*
378
379*   **arrowDir**: Направление, куда должна указывать стрелка на инструменте. Определено в `Camera.PopoverArrowDirection` *(число)*
380    
381            Camera.PopoverArrowDirection = {
382                ARROW_UP : 1,        // matches iOS UIPopoverArrowDirection constants
383                ARROW_DOWN : 2,
384                ARROW_LEFT : 4,
385                ARROW_RIGHT : 8,
386                ARROW_ANY : 15
387            };
388        
389
390Обратите внимание, что размер инструмента может изменяться для корректировки в зависимости направлении стрелки и ориентации экрана. Убедитесь, что учитываете возможные изменения ориентации при указании расположения элемента привязки.
391
392## navigator.camera.cleanup
393
394Удаляет промежуточные фотографии, сделанные камерой из временного хранилища.
395
396    navigator.camera.cleanup( cameraSuccess, cameraError );
397    
398
399### Описание
400
401Удаляет промежуточные файлы изображений, которые хранятся во временном хранилище после вызова метода `camera.getPicture` . Применяется только тогда, когда значение `Camera.sourceType` равно `Camera.PictureSourceType.CAMERA` и `Camera.destinationType` равняется `Camera.DestinationType.FILE_URI`.
402
403### Поддерживаемые платформы
404
405*   iOS
406
407### Пример
408
409    navigator.camera.cleanup(onSuccess, onFail);
410    
411    function onSuccess() {
412        console.log("Camera cleanup success.")
413    }
414    
415    function onFail(message) {
416        alert('Failed because: ' + message);
417    }