Hàng loạt thay thế màu trong suốt


17

Tôi có một số lượng lớn hình ảnh PNG (quá nhiều để thực hiện từng cái một) với nền màu hồng sáng và muốn thay thế màu nền bằng độ trong suốt. Nếu điều này là không thể hoặc đặc biệt khó khăn, thay thế màu được chỉ định bằng màu trắng sẽ hữu ích.

Tôi có gimp nhưng không photoshop và không đặc biệt thoải mái với dòng lệnh, vì vậy nếu một giải pháp yêu cầu, vui lòng hiển thị từng bước. Thật tuyệt vời khi có thể làm điều này, bất kỳ trợ giúp sẽ được đánh giá cao.

Câu trả lời:


21

Tôi biết bạn nói rằng bạn không thoải mái với các công cụ dòng lệnh, nhưng ImageMagick có thể làm điều này:

Thay thế một màu cụ thể

convert balloon.gif -transparent blue balloon_trans.gif

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Trong trường hợp balloon.giflà hình ảnh nguồn, -transparentquy định cụ thể mà bạn muốn có một bg minh bạch, bluelà màu mà bạn muốn thay thế, và balloon_trans.giflà hình ảnh hoàn thành.

Đây là giả định rằng "màu hồng sáng" của bạn không phải là một phần của bất kỳ hình ảnh nào. Để loại bỏ nền thông minh hơn một chút (lấp đầy), hãy xem hướng dẫn này: Masking Simple Backgrounds (Flofill)

Điều này có thể có một ít lông và một số tùy chọn mà họ chỉ định có thể không cần thiết cho những gì bạn đang cố gắng thực hiện, vì vậy, người đàn ông @graphics đề nghị bạn có thể thêm backgroundvào lệnh


Nếu bạn có thể cho tôi biết hệ điều hành nào bạn đang sử dụng và một hình ảnh mẫu, tôi có thể giúp bạn với một tập lệnh để tự động hóa hệ điều hành này cho nhiều hình ảnh


Cụ thể với tình huống của bạn:

Đầu tiên, cài đặt ImageMagick . Bạn có thể cần phải khởi động lại sau khi cài đặt để biến PATH của bạn được cập nhật (Tôi đã làm)

Khi nó được cài đặt, kích hoạt một dấu nhắc lệnh (Menu bắt đầu, gõ cmd, nhấn enter)

Bạn cần thay đổi thư mục đến nơi lưu hình ảnh. Đối với tình huống của bạn, nhập lệnh sau:

cd C:\Users\Eric\Pictures\pngs\logos

Bây giờ chúng ta cần tạo một thư mục để lưu tất cả các hình ảnh trong:

mkdir batch

Và bây giờ, lệnh để chuyển đổi tất cả các hình ảnh:

FOR %G IN (*.png) DO convert "%G" -transparent #FF00FF "batch\%G"

Lưu ý: Với ImageMagick v7, hãy sử dụng magickthay vì convert, như vậy

FOR %G IN (*.png) DO magick "%G" -transparent #FF00FF "batch\%G"

Nếu mọi thứ đều suôn sẻ, các hình ảnh mới được lưu sẽ nằm trong thư mục bó mà bạn đã tạo.

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây


1
giải pháp tốt, nếu bất cứ ai thắc mắc bash linux tương đương: cho tệp trong * .png; thực hiện chuyển đổi "$ {file}" -transparent '# ffcc66' "batch / $ {file}"; xong
Sameer Shemna

Đối với Mac, điều này dường như có liên quan: superuser.com/questions/773590/ trên Cảm ơn!
Dan Rosenstark

Điều này không hoạt động như Gimp. Nếu bạn có pixel trắng với alpha 0,5 ở trên pixel đen và bạn muốn xóa màu đen, pixel xám sẽ vẫn còn.
Iulian Onofrei

3

Nếu bạn đang chạy gimp và không muốn đi Imagemagick, bạn có thể muốn xem qua Bộ xử lý hàng loạt của David (DBP) . Nó là một trình cắm thêm cho gimp để xử lý hàng loạt. Lưu ý tôi chưa bao giờ sử dụng nó cũng như không thử nghiệm nhưng đó là thứ tôi đã thấy trước đây. Nếu bạn có Photoshop tôi có thể chỉ cho bạn cách sử dụng lô hoặc hành động.


Tôi có điều đó và đã sử dụng nó để cắt hàng loạt những hình ảnh này, nhưng dường như không có bất kỳ tùy chọn nào để thay thế màu sắc. Có lẽ tôi đang thiếu nó, hoặc có một phiên bản cũ?
ete

Tôi không biết. Tôi chỉ quen thuộc với plugin vì một khách hàng đang sử dụng nó để chỉnh sửa hàng loạt hình ảnh và gặp lỗi. Như John đã đăng tải Imagemagick là một lựa chọn mạnh mẽ và có thể giải quyết tất cả các vấn đề của bạn. Có trang web rất chi tiết. Có một cái nhìn imagemagick.org/script/index.php
DᴀʀᴛʜVᴀᴅᴇʀ

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.