gifts2017

Показать, повернуть и увеличить картинку в 1С

Опубликовал Сергей Кудашкин (sikuda) в раздел Программирование - Инструментарий

Не нашел универсального средства для тонкого и web-клиента для просмотра изображений c увеличением и поворотом. Сделал. В хозяйстве нужная вещь.

Доброго времени суток!

 

Блуждая на инфостарте нашел множество хорошего для обработки и показа изображений.

http://infostart.ru/public/74981/ - GraphicsNET

http://infostart.ru/public/241765/  - Поворот картинки и Ч/Б

http://infostart.ru/public/238511/ - Просмотр изображений через тонкий клиент

В первых двух примерах содержаться полные графические редакторы с соответствующими возможностями. И они редактируют первоначальную картинку перед ее показом. С одной стороны это хорошо, но первоначально стояла в получении простого, универсального средства просмотра, увеличения и поворота изображения. И конечно хотелось, чтобы это средство не требовало внешней компоненты и работало в web-клиенте (прощайте COM объекты). А это значить, что ничего кроме браузерных возможностей применять нельзя.

 

Если вы немного знаете интернет программирование, прочитайте объяснение:

Масштабирование и поворот это базовый набор современных браузеров CSS3 - http://www.w3schools.com/css/css3_2dtransforms.asp

Но что у нас есть для этого в 1С и для html поля в частности? Поле HTML в режиме совместимости IE7, а нам требуется IE9(-ms-transform: rotate(90deg)). Кажется все безнадежно и вы уже опустили руки, а зря.

 

Метод первый:  У нас есть мощная библиотека Raphael (статья http://infostart.ru/public/191248/) и ее возможности трансформации и можно использовать для картинок и изображений в режиме старого IE7.

Метод второй:  Использовать трансформацию изображений в тонком клиенте старыми методами IE(http://demos.aimweb.name/css-transform-generator), а в web-клиенте CSS3 transform.

 

Делаем и смотрим что получилось. Наслаждаемся.

 

Версия 1С 8.2 для управляемых форм.

Версия 8.3 для новомодного отсутствия модальности .

Версия 8.2 для простых форм прилагается второй формой(уверен, что код будет работать и с 8.1).

 

Сайт sikuda.ru

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Посмотреть картинку внутри 1С
.epf 10,79Kb
13.03.15
45
.epf 10,79Kb 45 Скачать
Посмотреть картинку внутри 1С (Raphael) дополнительно.
.epf 42,31Kb
22.08.14
20
.epf 42,31Kb 20 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Михаил Зотов (ZOMI) 20.12.13 19:03
Пригодится! В закладочки
2. Яков Коган (Yashazz) 20.12.13 21:57
Погодь, вот это: http://infostart.ru/public/241765/ - разве не подходит? Слишком общо? Я его как раз заюзать тоже думал...
3. Ийон Тихий (cool.vlad4) 20.12.13 22:00
(2) Yashazz, сомневаюсь, что по указанной ссылке будет работать в web клиенте. не знаю как работает в этой публикации, но подозреваю, что используется js или что-то вроде этого.
4. Яков Коган (Yashazz) 20.12.13 22:28
(3) У меня задача в толстом/тонком, приглядывался к той обработке, но пока не качал. Если ты уж видел, тогда sikud'овскую посоветуешь или ту?
5. Александр Медведев (anig99) 23.12.13 11:41
используется js. Ничем по сути не отличается от использования консольной утилиты (которую можно впихнуть в макет) или использования WMI, который есть в виндах выше XP...
Так что насчет пушки по воробьям - это ты зря.
Единственное преимущество - кроссплатформенность, но его ещё проверить нужно.
6. Александр Медведев (anig99) 23.12.13 11:47
Кстати, как показывает мой опыт, почему-то не всякий js заработает правильно в 1с...
всяких js библиотек дофига в сети. Найти среди них чистому 1снику, такой, чтобы работал и тоже не пушкой по воробьям - проблема.
А так поставлю плюс, как образцу прикручивания js к 1с.
7. Александр Медведев (anig99) 23.12.13 11:49
Вот, чтобы исправить ОтобразитьКартинкуНаКлиенте, чтобы выглядело, как мне надо, нужно мне искать дальше учить html.
8. Ийон Тихий (cool.vlad4) 23.12.13 12:20
(4) Yashazz, честно, врать не хочу, не скачивал ни то, ни другое. посоветовать поэтому не могу. на тонком/веб клиенте наверное эта публикация, хотя как заметил anig99 в (6), бывают проблемы с исполнением js в 1С (на мой взгляд это связано в web browser control, который не является полноценным браузером и который по крайней мере использовался в 8.1, сейчас что там используется в 1С-ке, не знаю)
9. Сергей Кудашкин (sikuda) 23.12.13 16:42
(0) Обновил публикацию. Сделал вторую версию без внешних библиотек, 10Кб можно засовывать в любой проект.
10. Сергей Кудашкин (sikuda) 26.12.13 17:45
(8) cool.vlad4, Да все осталось. Я этим практически профессионально стал заниматься:
от 1С Web браузер
до 1C и IE11 заметка

(7) Да, пора. Технологии меняются - надо не отставать.
11. Сергей Кудашкин (sikuda) 21.01.14 14:45
НачатьПомещениеФайла в 8.2 ругается, поэтому все 8.3 закомментировал.
Проверил с web-клиентом 8.2
12. artur rakhmatulin (нормальный такой) 02.07.14 15:35
Дружище!
Неистово плюсую! это то что я пытался слепить сам, вс работает в браузере, но ПолуHTMLДокумента ни в какую не хотело воспринимать мои скрипты... я отчаился, но тут нашел твою обработку!
Честно я стащил твой скрипт и он успешно работает, респект.

Я никак не хотел использовать COM компоненты или временные файлы и переворачивать их с помощью VB, твой вариант идеален.
Просто я получаю картинки из внешней БД и работаю с ними через ВременноеХранилище и сохранять файлы на пользовательские ПК никак не хочу.

:)
13. artur rakhmatulin (нормальный такой) 03.07.14 13:25
вообще переделал на объектную модель и запилил кнопок на форме, работает, спс!
http://take.ms/3syY0

html стал совсем коротким

"< html >		
|< head >
|< /head >
|< body >< img id='img' src="+fileSourse+" >
|< /body >< /html >"
...Показать Скрыть
14. Виталий Марков (VitalMakarr) 11.03.15 06:25
Зачем ограничиваться узкими возможностями. Попробуйте http://infostart.ru/public/322956/
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа