Nano Hash - криптовалюты, майнинг, программирование

Пакетное изменение размера изображений в белом фоне OSX Automator вместо черного

Я использую Automator для изменения размера кучи изображений. Он отлично работает, за исключением того, что добавляет черный фон к изображениям PNG. Это реальная проблема, если изображение представляло собой черный логотип с прозрачным фоном. Есть ли способ изменить цвет фона?

Я использую действие Crop Images.

Ваше здоровье!

22.10.2017

  • Пожалуйста, покажите свой код. 22.10.2017
  • @MarkSetchell Нет кода для показа. Это действие автомата. 22.10.2017

Ответы:


1

Automator очень прост в использовании, но для более ограниченного контроля вы можете использовать AppleScript (даже как часть Automator) с Image Events, чтобы выполнить базовое редактирование изображения, включая изменение размера с помощью команды pad с определенными размерами и цветом фона. Вот базовый сценарий, который вы можете сохранить как приложение в Script Editor, а затем, чтобы использовать его, либо дважды щелкните значок приложения в Finder, либо, что еще лучше, перетащите файлы изображений для обработки на значок приложения:

property _width : 400
property _height : 200
property _color : {65528, 65535, 65525} --white

on run
    open (choose file with multiple selections allowed)
end run

on open the_items
    set output_folder to (((path to desktop) as string) & "Output")
    try
        get output_folder as alias
    on error
        tell application "Finder" to make new folder at desktop with properties {name:"Output"}
    end try
    repeat with this_item in the_items
        set this_item to (this_item as alias)
        set _info to info for this_item
        set _extension to _info's name extension
        if (_extension is in {"jpg", "jpeg", "tif", "tiff", "png"}) then
            set _name to name of _info
            set _name to (text 1 thru -((count _extension) + 1) of _name)
            set output_path to (output_folder & ":" & _name & "jpg")
            my resize_image(this_item, output_path, _width, _height)
        end if
    end repeat
end open

on resize_image(original_path, output_path, _width, _height)
    tell application "Image Events"
        launch
        set _image to (open file (original_path as string))
        pad _image to dimensions {_width, _height} with pad color _color -- use crop to dimensions to decrease the size
        save _image as JPEG in file output_path with icon
        close _image
    end tell
end resize_image

Это создаст на рабочем столе папку с именем «Вывод» (если она еще не существует) и сохранит изображения в формате JPG, используя размеры в верхней части скрипта (вы можете изменить размеры, цвет, местоположение вывода и т. д., это это просто пример).

22.10.2017
  • Между прочим, Image Events на самом деле является просто интерфейсом AppleScript для использования инструмента SIPS: developer.apple.com/legacy/library/documentation/Darwin/ 23.10.2017
  • СПАСИБО! Можно ли сохранить форматы изображений, например, если они в формате png, сохраните их в формате png, если они в формате jpg, сохраните их в формате jpg? 23.10.2017
  • Да, вы можете фильтровать по расширению, чтобы определить тип файла, а затем обновить сценарий, чтобы учесть это и сохранить выходной файл в том же формате (Image Events поддерживает следующие форматы: BMP, ‌JPEG, ‌JPEG2, ‌PICT, ‌PNG, ‌PSD, ‌QuickTime Image, ‌& TIFF). 24.10.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..