Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СредстваМультимедиа.СделатьФотоснимок работает через раз. Хелп!

СредстваМультимедиа.СделатьФотоснимок работает через раз. Хелп!
Я
   Armellon
 
21.03.19 - 13:25
Всем привет!
Такая проблема, нужно на сервер отправлять фото сделанные смартфоном, размер до 500 Кб.
Использую СредстваМультимедиа.СделатьФотоснимок, но эта функция работает через раз, причем на разном железе глючит.
Ощущение, что баг платформы.
Подскажите, кто сталкивался в решением, может быть есть другие вариант делать фото. Но нужно выставлять разрешение и сжатие Jpeg.
В поисковике ничего дельного не нарыл, кроме работы через Андроид интент, но как быть с размером фото? выходит от 5 Мб, что неприемлемо.
А в 1с нет средств уменьшения фото.
Готов отблагодарить
 
 
   Провинциальный 1сник
 
1 - 21.03.19 - 13:31
"А в 1с нет средств уменьшения фото. "
В 8.3.14 уже есть
   Armellon
 
2 - 21.03.19 - 13:38
(1) Подскажи пож. как наз-ся. 8.3.14 еще не юзал
   baza1
 
3 - 21.03.19 - 13:43
То же СредстваМультимедиа.СделатьФотоснимок работает через раз (зависит от смартфона).
Сделали выбор средства фотографирования: через СделатьФотоснимок или через android.media.action.IMAGE_CAPTURE.
Если смарт не позволяет при использовании android.media.action.IMAGE_CAPTURE настраивать качество (опять не все смарты могут), то снимок отправляется на сервер где уменьшается через imagemagick.
   Гипервизор
 
4 - 21.03.19 - 13:48
А как же вот это? Еще в 8.3.6

Реализована возможность управлять качеством фото- и видеосъемки (только для ОС Android).
Реализована возможность управлять используемой камерой для фото- и видеосъемки.

Для методов ПоддерживаетсяФотоснимок() и ПоддерживаетсяВидеозапись() объекта СредстваМультимедиа реализован параметр ТипКамеры. Для метода СделатьФотоснимок() объекта СредстваМультимедиа реализованы параметры ТипКамеры, Разрешение, Качество и ЧерноБелый. Для метода СделатьВидеозапись() объекта СредстваМультимедиа реализованы параметры ТипКамеры, Качество. Для объекта СредстваМультимедиа реализован метод ПолучитьПоддерживаемыеРазрешенияКамеры().
   Armellon
 
5 - 21.03.19 - 14:20
(4) Это да, опции устраивают, то сама функция работает через и зависает
   Armellon
 
6 - 21.03.19 - 14:21
(3) Подскажи. плз. как настроить качество через android.media.action.IMAGE_CAPTURE. Как сфотать знаю, а как выставить качество - нет (
   Armellon
 
7 - 21.03.19 - 14:24
(5) Сама функция СделатьФотоснимок()  работает через раз и зависает
   baza1
 
8 - 21.03.19 - 14:50
(6) Как настроить качество программно при  android.media.action.IMAGE_CAPTURE не знаю, не нашел. Но мы делаем так: при первом фото пользователь настраивает камеру сам (при этом состав настроек сильно зависит от смарта, при чем чем дешевле смарт то больше настроек по уменьшения качества), эти настройки авто-сохраняются для приложения, т.е. не влияют на стандартное приложение "камера". как-то так...
   repin_mike
 
9 - 21.03.19 - 14:55
(0)На моём железе работает хорошо, никаких зависаний и через раз не наблюдается, платформа 8.3.12.93

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

    Разрешение = Новый РазрешениеКамерыУстройства;
    Разрешение.Высота = 3840;
    Разрешение.Ширина = 2160;
    Снимок = СредстваМультимедиа.СделатьФотоснимок(ТипКамерыУстройства.Задняя,Разрешение,100,Ложь);
    Если Снимок = Неопределено Тогда
        Возврат Неопределено;
    КонецЕсли;
    Возврат Снимок.ПолучитьДвоичныеДанные();
#КонецЕсли
   Вафель
 
10 - 21.03.19 - 15:05
а может проще потом качество менять при загрузке. или канала жалко?
   Кац
 
11 - 21.03.19 - 15:09
Кривой этот метод, СредстваМультимедиа.СделатьФотоснимок 
Тормознутая хрень и нельзя управлять вспышкой.

лучше уж android.media.action.IMAGE_CAPTURE, но на 7 ведроиде халява кончилась,не работает.
   ам794123
 
12 - 21.03.19 - 15:19
(0) Есть старые проверенные методы: http://j008.ru/ps/100_1c_image_resize_com
   Armellon
 
13 - 21.03.19 - 15:47
(12) WIA поддерживается начиная с Windows XP SP1 и старше. - Нужно под Андроид
   Armellon
 
14 - 21.03.19 - 15:48
(11) Как быть? Неужели кроме СредстваМультимедиа.СделатьФотоснимок, нет вариантов?
   baza1
 
15 - 21.03.19 - 15:51
(11) android.media.action.IMAGE_CAPTURE у меня работает на 7.1. Еще не встречал где не работает.
   sqr4
 
16 - 21.03.19 - 16:11
Почему я прочитал как фото сисек?
   Кац
 
17 - 21.03.19 - 16:11
(15) андроед вроде 7.5 что-ли, непомню. не работает,там что-то с правами файлов намутили
   Кац
 
18 - 21.03.19 - 16:15
(15)
Вот, например на 7 ведроиде:

ФайлКартинки = КаталогКартинок + "temp.jpg"; 
НовВз = Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE"); 
НовВз.ДополнительныеДанные.Добавить("output", ФайлКартинки, "Uri"); 
НовВз.Запустить(Истина); 


1с рушится и выдает ошибку:
exposed beyond app through clipdata.item.geturi()

Можете проверить у себя эту конструкцию?
   baza1
 
19 - 21.03.19 - 16:17
(17) у меня так работает
ФайлКартинки = ПолучитьИмяВременногоФайла("jpg");
Запуск = Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE");
Запуск.ДополнительныеДанные.Добавить("output", "file://" + ФайлКартинки, "Uri");
   Кац
 
20 - 21.03.19 - 16:23
(19) хм.. завтра проверю на своем. спасибо!
   Кац
 
21 - 21.03.19 - 16:24
хотя конструкция почти такая же
   Armellon
 
22 - 21.03.19 - 17:10
Действительно, в 8.3.14 появился объект ОбрабатываемаяКартинка
ОбрабатываемаяКартинка (ProcessingPicture)
Методы:
ВыделитьЗначимуюЧасть (SelectKeyArea)
ВыделитьОбласть (SelectArea)
Масштабировать (Scale)
Повернуть (Rotate)
ПолучитьКартинку (GetPicture)
ПреобразоватьВОттенкиСерого (ConvertToGrayScale)
УстановитьГлубинуЦвета (SetColorDepth)
УстановитьПлотность (SetDensity)
УстановитьРазмер (SetSize)
УстановитьФормат (SetFormat)
Конструкторы:
По умолчанию
Описание:
Предназначен для преобразования картинок.
Доступность:
Сервер, толстый клиент, внешнее соединение.

Вроде есть функции масштабирования и конвертации, но не нашел, где можно выставить коэффициент сжатия JPEG
   Armellon
 
23 - 21.03.19 - 17:47
(22) Блин, в мобильном приложении не работает. Печаль


Список тем форума
Рекламное место пустует  Рекламное место пустует
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.