Класс для работы с рисунками в формате BMP (чистый 8.x без внешних компонент)

02.12.13

Разработка - Работа с интерфейсом

Возможности:
- Позволяет читать файлы BMP и вносить в них некоторые изменения из кода 1С;
- Создание рисунков «с нуля»;
- Набор примитивных инструментов: Изменение размера холста, получение цвета точки (пипетка), попиксельно рисование (карандаш), рисование окружностей, прямых, прямоугольников, треугольников и наличие заливки;
- Полученный файл можно конвертировать в любой формат (опять же средствами 1С).

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

Наименование Файл Версия Размер
BMP.epf
.epf 21,51Kb
158
.epf 21,51Kb 158 Скачать

Плюсы:

- Работа в контексте сервера 1С предприятия;

- Наличие работоспособного примера с вызовом всех описанных функций;

- Описание приложено в справку;

- Просто интересно как оно устроено.

Минусы:

- Скорость (довольно медленно, особенно заметно на больших размерах, узкое место - заливка);

- Отсутствие универсальности (работает не со всеми разновидностями формата по части глубины цвета, палитр, реверсивности строк и т.п.);

- Изображения с шириной/высотой 10, 266, 522, 778, 1034... из-за особенностей кодировки не записываются (т.к. символ 10 является для платформы 1С служебным и перед ним добавляется «возврат каретки», что нарушает внутреннюю структуру файла).

 

Писалось для себя, без особой надобности, ради интереса. Забыл сказать, что модуль объекта - это и есть класс, форма - пример работы с ним.

Обновление 2.12.13

- Поддержка всех размеров, устранено ограничение первой версии.

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61787    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54389    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16692    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10726    750    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    9578    151    acces969    31    

118

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3661    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12073    1    5    

10
Отзывы
15. AllexSoft 02.03.17 10:23 Сейчас в теме
Классная обработка, очень выручила! Умеет генерить 24х битный BMP (что важно). Пригодилась для генерации палитры цветов по справочнику в 1С.
yku; DrAku1a; Serj1C; +3 Ответить
9. Serj1C 483 02.12.13 21:39 Сейчас в теме
Обновление 2.12.13

- Поддержка всех размеров, устранено ограничение первой версии.
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Serj1C 483 05.11.10 22:52 Сейчас в теме
(0) Убогая картинка в анонсе кстати была нарисована в 1С
В обработке приведен этот скрипт
На форме поле ввода позволяет на лету выполнять код и радоваться результату))
2. tormozit 7136 10.11.10 13:35 Сейчас в теме
3. delwish 10.11.10 17:02 Сейчас в теме
скоро 1С заменит винду - paint уже готов :D
4. Serj1C 483 10.11.10 19:33 Сейчас в теме
(3) В конфигураторе паинт всегда был))
5. markers 274 13.11.10 13:02 Сейчас в теме
Ну что сказать, несомненно плюс!!!! Если б ещё JPG делать, вообще была бы красава :))
6. Serj1C 483 13.11.10 21:26 Сейчас в теме
(5) Максимум, что могу предложить - PNG (для таких убогих картинок - идеальный вариант)
	Имя_PNG = ПолучитьИмяВременногоФайла("PNG");
	ЭлементыФормы.Рисунок.Картинка.Преобразовать(ФорматКартинки.PNG);
	ЭлементыФормы.Рисунок.Картинка.Записать(Имя_PNG);
	ЗапуститьПриложение(Имя_PNG);

В jpeg 1С преобразовывать не хочет, пишет "Ошибка преобразования картинки"
7. markers 274 14.11.10 23:07 Сейчас в теме
(6) Спасиб хоть на этом :)
8. trustgros 9 14.12.11 18:25 Сейчас в теме
отличная вещь. думаю пригодится
9. Serj1C 483 02.12.13 21:39 Сейчас в теме
Обновление 2.12.13

- Поддержка всех размеров, устранено ограничение первой версии.
10. kazimesh 31.08.15 18:12 Сейчас в теме
Привет всем. Может кому-нибудь пригодится. У меня Функция Прочитать(ИмяФайла) вызывала ошибку "Неожиданный конец файла", когда я просил нарисовать не с нуля, а свыбранного файла. Убрал прерывание на ошибке, получил считывание картинки сжатой по оси Y в два раза. Разбор кода показал, что вот этот блок в процедуре:
Данные = ЧтениеПотока(Поток, Ширина*ГлубинаЦвета + Дополнение, БайтПрочитано);
			Если Данные=Неопределено Тогда
				ОписаниеОшибки = "Неожиданный конец файла";
				//Возврат Ложь;
				Прервать;
			КонецЕсли;

вызывает ускоренное чтение переменной "Поток", а нужен он только для проверки. Комментинируем этот блок - все работает хорошо.
chemezov; Serj1C; +2 Ответить
11. Serj1C 483 01.09.15 08:41 Сейчас в теме
(10) kazimesh, Возможно в заголовке файла используется палитра или нестандартная глубина цвета.
Полную поддержку формата я не реализовывал, о чем указал в "минусах".

Но больше всего мне не нравится скорость. Хочется добавить версию через COMОбъект("ADODB.Stream")
12. Serj1C 483 03.02.16 12:29 Сейчас в теме
Ждем 8.3.9, можно работать с двоичными данными!
http://v8.1c.ru/o7/201602bin/index.htm
13. Dvornik 20 20.05.16 06:31 Сейчас в теме
Может не в тему вопрос. А толщину отрезка можно задавать?
14. Serj1C 483 20.05.16 09:49 Сейчас в теме
(13) Dvornik, Нет, но могу предложить нарисовать 3 отрезка
15. AllexSoft 02.03.17 10:23 Сейчас в теме
Классная обработка, очень выручила! Умеет генерить 24х битный BMP (что важно). Пригодилась для генерации палитры цветов по справочнику в 1С.
yku; DrAku1a; Serj1C; +3 Ответить
17. Serj1C 483 15.07.22 01:33 Сейчас в теме
Не могу не похвастаться. Через 12 лет моя же обработка пригодится, чтобы сгенерировать картинки для ардуино проекта!
Прикрепленные файлы:
18. chemezov 47 18.08.22 15:29 Сейчас в теме
Добрый день. Скачал вашу обработку. не могу разобраться каким методом нужно пользоваться чтобы получить цвет пикселя. Подскажите пожалуйста, какой метод вашего класса является тем что в описании называется "пипетка"?
19. Serj1C 483 25.08.22 13:58 Сейчас в теме
(18) Добрый день.
Вам надо использовать функцию Точка(X, Y) без передачи третьего параметра.
Функция вернут строку из трех символов, если получить коды этих символов, то будут соответственно уровни каналов от 0 до 255 для красного, синего и зеленого
Прикрепленные файлы:
chemezov; +1 Ответить
20. chemezov 47 25.08.22 17:24 Сейчас в теме
(19)
чить коды этих символов, то будут соо

Супер! Спасибо
Оставьте свое сообщение