100개의 PNG파일을 BMP로 변환시키기

 PNG파일을 BMP파일로 바꿔야할 일이 있는데, 파일이 100개나 된다면 어떻게 하지?


python으로 간단하게 해결했다.


다음은 xxx.py 파일의 내용이다.

import sys
from PIL import Image

if __name__ == "__main__":

    file_in = sys.argv[1] + ".png"
    img = Image.open(file_in)

    file_out = sys.argv[1] + ".bmp"
    img.save(file_out)


다음은 xxx.py를 호출하는 aaa.bat 파일의 내용이다.

python xxx.py "00_starting"
python xxx.py "33_C_Language1"
python xxx.py "34_C_Language2"
python xxx.py "45_E_main"
python xxx.py "46_E_PrintFile"
python xxx.py "47_E_PrintFile"

   ...

 

cmd창을 열고 aaa.bat를 실행시키면 순식간에 bmp파일이 만들어진다.

python 만세!!



그런데 문제가 있다. Python은 RGBA 포멧의 BMP를 만들어냈다.

아래의 코드는 RGB 포멧의 BMP을 만든다.

import sys
from PIL import Image

if __name__ == "__main__":

    file_in = sys.argv[1] + ".png"
    file_out = sys.argv[1] + ".bmp"

    img = Image.open(file_in)
    if len( img.split() ) == 4:
        r,g,b,a = img.split()
        img = Image.merge("RGB", (r,g,b))
        img.save(file_out)
    else:
        img.save(file_out)