HelpF.pro

Как сделать фото на мобильном устройстве

Источник mobile-1s.ru

не забываем в свойствах конфигурации установить Требуемые разрешения "Мультимедиа"

Код 1C v 8.3
 

&НаКлиенте
Процедура КомандаСоздатьФото(Команда)

ДанныеФото = ПолучитьДанныеФотоСнимка();

Если ДанныеФото <> Неопределено Тогда
ТекущееФото = ДанныеФото.ПолучитьДвоичныеДанные();
Фото = ПоместитьВоВременноеХранилище(ТекущееФото, Новый УникальныйИдентификатор);
КонецЕсли;

КонецПроцедуры

&НаКлиенте
Функция ПолучитьДанныеФотоСнимка()

Данные = Неопределено;

#Если МобильноеПриложениеКлиент Тогда

Если СредстваМультимедиа.ПоддерживаетсяФотоснимок() Тогда

ТипКамерыДанные = ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты("ТипКамеры");
Если ТипКамерыДанные = ПредопределенноеЗначение("Перечисление.ТипКамеры.Задняя") Тогда
ТипКамеры = ТипКамерыУстройства.Задняя;
ИначеЕсли ТипКамерыДанные = ПредопределенноеЗначение("Перечисление.ТипКамеры.Передняя") Тогда
ТипКамеры = ТипКамерыУстройства.Передняя;
Иначе
ТипКамеры = ТипКамерыУстройства.Авто;
КонецЕсли;

РазрешениеВысота = ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты("РазрешениеВысота");
РазрешениеШирина = ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты("РазрешениеШирина");

//для устройств IOS этот параметр игнорируется
пКачество = ОбщегоНазначенияСервер.ПолучитьЗначениеКонстанты("КачествоФото");
Если пКачество = 0 Тогда
пКачество = 1;
КонецЕсли;

Если РазрешениеВысота <> 0 И РазрешениеШирина <> 0 Тогда
РазрешениеКамеры = Новый РазрешениеКамерыУстройства;
РазрешениеКамеры.Высота = РазрешениеВысота;
РазрешениеКамеры.Ширина = РазрешениеШирина;
Данные = СредстваМультимедиа.СделатьФотоснимок(ТипКамеры, РазрешениеКамеры, пКачество);

Иначе
Данные = СредстваМультимедиа.СделатьФотоснимок(ТипКамеры, , пКачество);
КонецЕсли;

Возврат Данные;
Иначе
Сообщить("Данное устройство не поддерживает фотоснимок!")
КонецЕсли;

#КонецЕсли

Возврат Данные;

КонецФункции

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq83/view/1798.html