我需要的是: - 有兩個圖像:背景(大)和圖像(較小) - 在背景上有一個斜線框,我想在其中合併輪廓PIC粘貼兩個文件後圖像質量較差
代碼:
# open the profile pic
im = PIL.Image.open(pic)
# resize it to dim of oblique box
im = im.resize((picX, picY))
# this is the degree of oblique box
degree = 13.67
# open the background
bg = PIL.Image.open(bgsrc)
bgosize = bg.size
bginfo = bg.info
# first, I rotate the background to be paralell with profile pic
bg = bg.rotate(-degree, resample = PIL.Image.BILINEAR, expand = True)
# paste the profile pic to background
bg.paste(im, (px1, py1, px2, py2))
# rotate back to original orientation
bg = bg.rotate(degree, resample = PIL.Image.BILINEAR, expand = False)
# crop the rotated image, because it's greater than original size,
# after first rotate - coords are stored
bg.crop(bgx1, bgy1, bgx2, bgy2)
PIL.ImageFile.MAXBLOCK = bg.size[0] * bg.size[1]
bg.save(dst, quality = 250, optimize = True, **bginfo)
這個變換後的結果圖像是nubbly一個litlebit ...
我怎樣才能得到一個良好的育人質量的圖像?
感謝:
a。
嗨馬克,感謝您的回覆, 1:我試過BILINEAR也是 - 它沒有效果。 2:如果我首先旋轉輪廓圖片,它將調整到更大的尺寸,黑色背景 - 如何將JPEG轉換/變換爲不透明的PNG? 3:我會檢查掩碼參數,如果你有一個例子,我感謝你:) – airween 2012-03-27 18:19:32
嗨馬克,謝謝你的例子。 如果我在im.rotate和mask.rotate之後即時保存圖像,那麼它們也是非常重要的...因此,即使我打開背景並從PIL中保存它,它也會一目瞭然。 我的另一個評論:當cr對象(而不是im)被遮罩時,它具有黑色背景 - 我如何創建透明背景?非常感謝: – airween 2012-03-28 08:36:19