Как изменить изображение.png с помощью VBScript
У меня есть необходимость выбрать часть файла.png с определенными кординаторами и удалить эту область, а затем сохранить файл с тем же именем. Буду признателен, если вы поможете придумать сценарий VBScript, который может выполнить эту задачу. Было бы замечательно, если бы все процессы происходили в фоновом режиме, но было бы также хорошо, если файл изображения должен быть открытым и видимым. Огромное спасибо!!!
1 ответ
Файл PNG, как и любой другой двоичный файл, можно редактировать с помощью CMD или VBS.
Макет файла PNG выглядит следующим образом:
- Заголовок файла
- "Куски" в файле
- Формат пикселей
- Прозрачность изображения
- Сжатие
- Переплетение
- Анимация
Прочтите формат PNG в RFC 2083, чтобы узнать, как редактировать / создавать файл PNG на двоичном / битовом уровне.
Чтобы ускорить процесс редактирования, доступны библиотеки для редактирования на уровне приложения. Вот несколько кодов VBA для обработки изображений.
ImageMagick также предоставляет библиотеки, к которым можно получить доступ через VBS для редактирования изображений.
Вот класс изображения VBScript для файлов bmp и pcx (в который PNG можно преобразовать перед редактированием через WIA). Описанная здесь функция Loadpicture, похоже, не поддерживает PNG, но это обсуждение может решить ее.
Библиотека Windows Image Acquisition v2.0 поддерживает форматы изображений PNG, BMP, JPG, GIF и TIFF и поставляется с Windows Vista и более поздними версиями. Доступны образцы сценариев для демонстрации "манипулирования изображениями с помощью объекта ImageFile". Свойство Vector.ImageFile также "создает объект ImageFile из необработанных данных ARGB".
Дополнительные примеры кодов здесь и здесь показывают, как вращать, переворачивать, масштабировать, обрезать и т. Д. С помощью констант изображения WIA в vbs. Чтобы удалить ненужные области изображения (с заданными координатами), используйте функцию кадрирования.
Вот обсуждение редактирования изображений WIA 2.0 в stackru.
VBScript не имеет никаких функций редактирования изображений, поэтому вам нужен внешний инструмент для этого. Например, GIMP может выполнять обработку изображений из командной строки (см. Здесь). ImageMagick предоставляет компонент с поддержкой сценариев в дополнение к интерфейсу командной строки (подробности здесь).
Чтобы запустить командную строку из сценария VBScript, вы можете использовать WShShell.Run
метод. Чтобы создать экземпляр компонента COM со сценарием, используйте CreateObject
функция.