Transparent Image: удаление белого фона с изображений
Простая консольная утилита для автоматического удаления белого фона с изображений и создания прозрачного PNG.
«Transparent Image» — компактный инструмент командной строки на Dart. Запускается как исполняемый файл или через Dart SDK. Обрабатывает изображения любых форматов, удаляет белый фон (пиксели с RGB > 200) и сохраняет результат в PNG с прозрачностью. Исходный файл остаётся без изменений.
- Утилита удаляет только белый фон (пиксели с яркостью RGB > 200 по каждому каналу).
- Результат сохраняется в формате PNG с суффиксом
_transparent. - Исходный файл не изменяется — создаётся новый файл.
- Для работы требуется Dart SDK (при запуске через
dart run) или готовый исполняемый файл.
Содержание
- Использование
- Примеры запуска
- Вызов из 1С
- Как работает
- Сборка исполняемого файла
- Состав поставки
- Требования
Использование
Утилита запускается из командной строки двумя способами:
Вариант 1: Исполняемый файл (Windows)
transparent_image.exe путь\к\изображению.jpg
Вариант 2: Через Dart SDK
dart run bin/transparent_image.dart путь/к/изображению.jpg
Примеры запуска
| Команда | Результат |
|---|---|
transparent_image.exe photo.jpg |
Создаст файл photo_transparent.png в текущей папке |
transparent_image.exe C:\Users\User\Pictures\image.png |
Создаст файл C:\Users\User\Pictures\image_transparent.png |
dart run bin/transparent_image.dart scan.jpg |
Создаст файл scan_transparent.png через Dart SDK |
Вызов из 1С
Утилиту можно вызывать из 1С:Предприятие для автоматической обработки изображений, хранящихся в базе или на диске.
Процедура УдалитьБелыйФон(ПутьКФайлу)
КомандаЗапуска = "transparent_image.exe """ + ПутьКФайлу + """";
Приложение = Новый COMОбъект("WScript.Shell");
КодВозврата = Приложение.Run(КомандаЗапуска, 0, Истина);
Если КодВозврата = 0 Тогда
Сообщить("Изображение успешно обработано");
Иначе
Сообщить("Ошибка обработки изображения");
КонецЕсли;
КонецПроцедуры
- Файл
transparent_image.exeдолжен находиться в каталоге, доступном из переменной PATH, или указывайте полный путь к исполняемому файлу. - При работе в клиент-серверном варианте утилита должна быть установлена на сервере, если обработка выполняется на сервере.
- Проверяйте код возврата: 0 = успех, любое другое значение = ошибка.
Как работает
image._transparent в имени файла.Порог белого цвета: RGB > 200 по каждому каналу. Это означает, что удаляются не только чисто белые пиксели (255, 255, 255), но и светло-серые оттенки. Для изменения порога отредактируйте условие в исходном коде.
Сборка исполняемого файла
Для создания standalone-исполняемого файла выполните команды:
dart pub get
dart compile exe bin/transparent_image.dart -o transparent_image.exe
После сборки файл transparent_image.exe можно запускать без установленного Dart SDK.
Состав поставки
В папке archives находятся два архива:
transparent_image_source.tar.gz
Исходники проекта для доработки на другом компьютере: исходный код, зависимости, конфигурационные файлы.
transparent_image_release.tar.gz
Готовый релиз для использования: исполняемый файл transparent_image.exe и инструкция.
Требования
- Dart SDK версии 2.12 или выше (для запуска через
dart runили сборки) - Библиотека image (указана в
pubspec.yaml, устанавливается черезdart pub get) - Поддерживаемые форматы входных изображений: JPEG, PNG, BMP, GIF, TIFF и другие, поддерживаемые библиотекой
image - Выходной формат: PNG с альфа-каналом
- Для интеграции с 1С: тестировалось на платформе 8.3.25 с БСП версии 3.1.10
- Быстрая обработка изображений без ручного редактирования
- Не требует графических редакторов
- Автоматизация через командную строку или скрипты
- Исходный файл остаётся без изменений
- Компактный исполняемый файл для Windows
Утилита подходит для быстрой обработки сканов, фотографий документов, логотипов и других изображений с белым фоном, которые нужно преобразовать в прозрачный PNG.
Вступайте в нашу телеграмм-группу Инфостарт