Имя: Пароль:
1C
1С v8
СредстваМультимедиа.СделатьФотоснимок работает через раз. Хелп!
0 Armellon
 
21.03.19
13:25
Всем привет!
Такая проблема, нужно на сервер отправлять фото сделанные смартфоном, размер до 500 Кб.
Использую СредстваМультимедиа.СделатьФотоснимок, но эта функция работает через раз, причем на разном железе глючит.
Ощущение, что баг платформы.
Подскажите, кто сталкивался в решением, может быть есть другие вариант делать фото. Но нужно выставлять разрешение и сжатие Jpeg.
В поисковике ничего дельного не нарыл, кроме работы через Андроид интент, но как быть с размером фото? выходит от 5 Мб, что неприемлемо.
А в 1с нет средств уменьшения фото.
Готов отблагодарить
1 Провинциальный 1сник
 
21.03.19
13:31
"А в 1с нет средств уменьшения фото. "
В 8.3.14 уже есть
2 Armellon
 
21.03.19
13:38
(1) Подскажи пож. как наз-ся. 8.3.14 еще не юзал
3 baza1
 
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).
Реализована возможность управлять используемой камерой для фото- и видеосъемки.

Для методов ПоддерживаетсяФотоснимок() и ПоддерживаетсяВидеозапись() объекта СредстваМультимедиа реализован параметр ТипКамеры. Для метода СделатьФотоснимок() объекта СредстваМультимедиа реализованы параметры ТипКамеры, Разрешение, Качество и ЧерноБелый. Для метода СделатьВидеозапись() объекта СредстваМультимедиа реализованы параметры ТипКамеры, Качество. Для объекта СредстваМультимедиа реализован метод ПолучитьПоддерживаемыеРазрешенияКамеры().
5 Armellon
 
21.03.19
14:20
(4) Это да, опции устраивают, то сама функция работает через и зависает
6 Armellon
 
21.03.19
14:21
(3) Подскажи. плз. как настроить качество через android.media.action.IMAGE_CAPTURE. Как сфотать знаю, а как выставить качество - нет (
7 Armellon
 
21.03.19
14:24
(5) Сама функция СделатьФотоснимок()  работает через раз и зависает
8 baza1
 
21.03.19
14:50
(6) Как настроить качество программно при  android.media.action.IMAGE_CAPTURE не знаю, не нашел. Но мы делаем так: при первом фото пользователь настраивает камеру сам (при этом состав настроек сильно зависит от смарта, при чем чем дешевле смарт то больше настроек по уменьшения качества), эти настройки авто-сохраняются для приложения, т.е. не влияют на стандартное приложение "камера". как-то так...
9 repin_mike
 
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 ведроиде халява кончилась,не работает.
12 ам794123
 
21.03.19
15:19
(0) Есть старые проверенные методы: http://j008.ru/ps/100_1c_image_resize_com
13 Armellon
 
21.03.19
15:47
(12) WIA поддерживается начиная с Windows XP SP1 и старше. - Нужно под Андроид
14 Armellon
 
21.03.19
15:48
(11) Как быть? Неужели кроме СредстваМультимедиа.СделатьФотоснимок, нет вариантов?
15 baza1
 
21.03.19
15:51
(11) android.media.action.IMAGE_CAPTURE у меня работает на 7.1. Еще не встречал где не работает.
16 sqr4
 
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()

Можете проверить у себя эту конструкцию?
19 baza1
 
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
хотя конструкция почти такая же
22 Armellon
 
21.03.19
17:10
Действительно, в 8.3.14 появился объект ОбрабатываемаяКартинка
ОбрабатываемаяКартинка (ProcessingPicture)
Методы:
ВыделитьЗначимуюЧасть (SelectKeyArea)
ВыделитьОбласть (SelectArea)
Масштабировать (Scale)
Повернуть (Rotate)
ПолучитьКартинку (GetPicture)
ПреобразоватьВОттенкиСерого (ConvertToGrayScale)
УстановитьГлубинуЦвета (SetColorDepth)
УстановитьПлотность (SetDensity)
УстановитьРазмер (SetSize)
УстановитьФормат (SetFormat)
Конструкторы:
По умолчанию
Описание:
Предназначен для преобразования картинок.
Доступность:
Сервер, толстый клиент, внешнее соединение.

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