Как подменить цвета чтобы при конвертации изображения .tga в .png всё было нормально?
from PIL import Image
import os
tga_folder = "tga_files"
png_folder = "png_files"
if not os.path.exists(png_folder):
os.makedirs(png_folder)
for filename in os.listdir(tga_folder):
if filename.endswith(".tga"):
filepath = os.path.join(tga_folder, filename)
im = Image.open(filepath)
width, height = im.size
pix = im.load()
for i in range(width):
for j in range(height):
r, g, b = pix[i, j]
pix[i, j] = (b, g, r)
png_filepath = os.path.join(png_folder, os.path.splitext(filename)[0] + ".png")
im.save(png_filepath)
print("Conversion complete")
Код выше конвертирует изображения .tga в .png, но только вот когда я конвертирую нужные изображения они получаются искажённые.
как получилось:
как должно было быть(цветопередача):
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте:
pix[i, j] = (g, r, b)
import os
from PIL import Image
tga_folder = "D:/_Qt/__Qt/temp" # <---- установите свой путь
png_folder = "D:/_Qt/__Qt/temp/png" # <---- установите свой путь
if not os.path.exists(png_folder):
os.makedirs(png_folder)
for filename in os.listdir(tga_folder):
if filename.endswith(".tga"):
filepath = os.path.join(tga_folder, filename)
im = Image.open(filepath)
width, height = im.size
pix = im.load()
for i in range(width):
for j in range(height):
r, g, b = pix[i, j]
# pix[i, j] = (b, g, r)
pix[i, j] = (g, r, b) # <----
png_filepath = os.path.join(png_folder, os.path.splitext(filename)[0] + ".png")
im.save(png_filepath)
print("Conversion complete")


