ChatGPTã䜿ã£ãŠ2Dã²ãŒã çšã«ã¢ã³ã¹ã¿ãŒã®ç»åçãçæããŠãã人ã£ãŠçµæ§å€ãããããªãã§ããããã
ããããæ®å¿µãªäºã«ChatGPTã§ããããéépngã«ããŠããšé Œãã§ãäœæ ãéépngã®ç»åãçæããŠãããªãããšããããã§ãããã
ä»åã¯ããã®éã®å¯ŸåŠæ³ã«ã€ããŠPythonã䜿ã£ãŠç޹ä»ããããšæããŸãã
ãWindowsãChatGPTç»åã®çœèæ¯ãPythonã§ééPNGã«ããæ¹æ³
ç§èªèº«ã倧éã«ç»åãçæãããŠããããã§ããäžçªèå¿ãªéépngã®æç€ºãããŠããªãã£ãããã«ãçæããç»åãã¡ãå šãŠçœèæ¯ä»ã«ãªã£ãŠããŸããŸããã
æåãããçæãçŽãã®ã¯é¢åã ãã¡ãããšãéépngã§ãé¡ããããšãã£ããšããã§çæåºæ¥ãããåºæ¥ãªãã£ããããã®ã§ãã¯ãçæããç»åããŸãšããŠéépngã«ããã®ãäžçªã ãããšããèãã«è³ããŸããã

äŸãšããŠäžã®ãããªç»åããããŸããäžèŠéépngã®ããã«èŠããããã§ããã»ã»ã»
ã¯ãããããªæãã§Unityã«ã€ã³ããŒãããŠã·ãŒã³äžã«æã£ãŠãããšãããªæãã§ãèŠäºã«çœãèæ¯ãäžç·ã«ãã£ã€ããŠããããã§ãã
ãšããããã§ããããããæ¬é¡ã«ãªããŸããå®éã«Pythonã䜿ã£ãŠéépngã«ããŠãããŸãããã
1. Pillowãã€ã³ã¹ããŒã«ãã
ãŸããç»åãæ±ãããã«Pillowãšããã©ã€ãã©ãªãå ¥ããŸãã
ïŒïŒãã©ã«ããçšæãã
äœæ¥çšãã©ã«ããçšæããŸãã
äŸïŒ
white_to_transparent/
ââ images/
imagesã®äžã«ãééãããç»åãå ¥ããŸãã
Pythonãã¡ã€ã«ããwhite_to_transparentããã©ã«ãã®äžã«äœããŸãããã¡ã€ã«åã¯ãbatch_transparent.pyãã«ããŸãã
â»æ¡åŒµåãtxtã«ãªã£ãŠããªããæ°ãã€ããŠãã ããã
from PIL import Image
from pathlib import Path
import math
input_folder = Path("images")
output_folder = Path("output")
output_folder.mkdir(exist_ok=True)
image_extensions = [
".png", ".jpg", ".jpeg", ".webp",
".jfif", ".bmp", ".tif", ".tiff"
]
# æ°åã倧ãããããšãããåºãç¯å²ã®çœã£ãœãè²ãéæã«ããŸã
white_tolerance = 60
for input_path in input_folder.rglob("*"):
if input_path.is_dir():
continue
if input_path.suffix.lower() not in image_extensions:
print(f"ã¹ããã: {input_path.name}")
continue
print(f"\nåŠçäž: {input_path}")
img = Image.open(input_path).convert("RGBA")
pixels = img.load()
width, height = img.size
transparent_pixels = 0
for y in range(height):
for x in range(width):
r, g, b, a = pixels[x, y]
# çœ RGB(255,255,255) ããã©ããããé¢ããŠããã
distance = math.sqrt(
(255 - r) ** 2 +
(255 - g) ** 2 +
(255 - b) ** 2
)
if distance < white_tolerance:
pixels[x, y] = (255, 255, 255, 0)
transparent_pixels += 1
output_path = output_folder / f"{input_path.stem}_transparent.png"
img.save(output_path)
print(f"ä¿åããŸãã: {output_path}")
print(f"éæã«ãããã¯ã»ã«æ°: {transparent_pixels}")
if transparent_pixels == 0:
print("泚æ: éæåããããã¯ã»ã«ã0ã§ããwhite_toleranceãäžããŠãã ããã")
print("\nãã¹ãŠå®äºããŸããã")
è€æ°ç»åããŸãšããŠéépngã«ããã³ãŒãã¯äžã®éãã«ããŸãã
white_to_transparent/
ââ batch_transparent.py
ââ images/
â ââ logo1.png
â ââ logo2.jpg
â ââ icon.jpeg
ãããšããã©ã«ãæ§æããããªæãã«ãªãããšæããŸãã
åŸã¯ãã³ãã³ãããã³ããã§white_to_transparentã«ç§»åããŠ



