본문 바로가기
파이썬

파이썬 Python에서 두 개의 동일한 크기 이미지 오버레이

by º기록 2021. 2. 17.
반응형

정확히 같은 크기의 이미지 두 개가 있습니다. 제가하려는 것은 하나를 가져 와서 50 % 투명하게 만들고 다른 이미지 위에 바로 배치하는 것입니다.

import Image

background = Image.open("bg.png")
overlay = Image.open("over.png")

background = background.convert("RGBA")
overlay = overlay.convert("RGBA")

background_pixels = background.load()
overlay_pixels = overlay.load()

for y in xrange(overlay.size[1]):
    for x in xrange(overlay.size[0]):
         background_pixels[x,y] = (background_pixels[x,y][0], background_pixels[x,y][1], background_pixels[x,y][2], 255)

for y in xrange(overlay.size[1]):
    for x in xrange(overlay.size[0]):
         overlay_pixels[x,y] = (overlay_pixels[x,y][0], overlay_pixels[x,y][1], overlay_pixels[x,y][2], 128)

background.paste(overlay)
background.save("new.png","PNG")

하지만 내가 얻는 것은 50 % 투명 오버레이입니다 (반쯤!).

 

해결 방법

 


try:
    from PIL import Image
except ImportError:
    import Image

background = Image.open("bg.png")
overlay = Image.open("ol.jpg")

background = background.convert("RGBA")
overlay = overlay.convert("RGBA")

new_img = Image.blend(background, overlay, 0.5)
new_img.save("new.png","PNG")

 

참조 페이지 https://stackoverflow.com/questions/10640114

 

 

반응형

댓글