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 }