반응형
정확히 같은 크기의 이미지 두 개가 있습니다. 제가하려는 것은 하나를 가져 와서 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
반응형
'파이썬' 카테고리의 다른 글
파이썬 Image tk라는 모듈이 없습니다. (0) | 2021.02.17 |
---|---|
파이썬 'str'객체는 Python에서 항목 할당을 지원하지 않습니다. (0) | 2021.02.17 |
파이썬 NumPy로 누적 분포 함수를 얻는 방법은 무엇입니까? (0) | 2021.02.17 |
파이썬을 사용하여 기존 파일에 줄을 추가하는 방법 (0) | 2021.02.17 |
파이썬 목록 생성 및 초기화 (0) | 2021.02.17 |
댓글