2011-12-29 2 views
2

1 개 PNG합니다PIL 나는이 개 이미지가 JPG 및 PNG 프레임

  • PNG (99x97) 한 흰색을, 프레임을 회전하고 나머지는 전체의 투명성에있다.
  • JPG는 -

지금 나는 그것이 그림의 일종처럼 보이는, 그래서 내 프레임에 썸네일을 데려 가고 싶다는 내 생성 된 썸네일 (되는 80x80)입니다. 어떻게해야합니까?

편집 : 나는 추가하는 것을 잊었다

, 그 사진 프레임 아래에 있어야합니다.

Frame image

나는 몇 가지 스크립트를 가지고 있지만 그것은 단지 프레임을 보여줍니다./

import Image, ImageDraw 

img_size = (99,97) 
im = Image.open('logo.jpg') 
picture = im.crop((0,0,80,80)) 
frame = Image.open('thumb-frame.png') 
picture = picture.convert('RGBA') 
background = Image.new('RGBA', img_size, (255, 255, 255, 0)) 
background.paste(picture, (10,9)) 
background.paste(frame, (0,0)) 
background.save('logocopy.png', 'PNG') 

편집 : 해결

문제 거기에 어떤 사진이 없습니다. .paste()에 알파 마스크를 추가해야했습니다.

import Image 

im = Image.open('logo.jpg') 
picture = im.crop((0,0,80,80)) 
picture = picture.convert('RGBA') 
frame = Image.open('thumb-frame.png') 
background = Image.new('RGBA', frame.size, (255, 255, 255, 0)) 
background.paste(picture, (10,9)) 
background.paste(frame, (0,0), frame) 
background.save('logocopy.png', 'PNG') 
+0

무엇을 시도하셨습니까? 코드를 작성하지는 않지만 코드의 문제를 해결할 수 있습니다. –

+0

@ CédricJulien이 수정 된 게시물을 확인합니다. – tunarob

+0

먼저 그림을 그린 다음 그 그림 위에 프레임을 그립니다. 프레임에 투명도가 설정된 경우 원하는 것을 얻게됩니다. – demalexx

답변

0

여기 있습니다. 원본 사진을 찍은 다음 위에 투명 프레임 이미지를 붙여 넣어야합니다. 두 그림 모두 100x100이어야하지만 필요한 크기 조정을 추가 할 수 있습니다.

from PIL import Image 

frame = Image.open('frame.png') 
img = Image.open('image.jpg') 

img_dest = img.copy().convert('RGBA') 
img_dest.paste(frame, (0, 0, 100, 100), frame) 

img_dest = img_dest.convert('RGB') # Optional, to remove transparency info 

img_dest.save('output.png') 
관련 문제