2016-02-15 47 views
0

我試圖從預定義的模板合併/組裝3,4,6或更多的照片到1個文件中,然後發送到打印機(photobooth風格)如何從Python中的HTML模板生成圖像(然後打印)

我已經嘗試過枕頭庫,但是,它似乎是基於像素,因此相當繁瑣,管理許多不同的模板。

我有什麼,只要一個概念證明是如下:

#!/usr/bin/env python 

from PIL import Image 

#opens an image: 
im1 = Image.open("photo_1.jpg") 
im2 = Image.open("photo_2.jpg") 
#creates a new empty image, RGB mode, and size 400 by 400. 
new_im = Image.new('RGBA', (1300,1900), (255, 255, 255)) 

im1 = im1.resize((900,600), Image.ANTIALIAS) 
im2 = im2.resize((900,600), Image.ANTIALIAS) 

#print im1.format, im1.size 
#print im2.format, im2.size 

new_im.paste(im1, (100,100)) 
new_im.paste(im2, (100, 750)) 

#print new_im.format, new_im.size 

try: 
     new_im.save("img/new.jpeg", format="JPEG", subsampling=0, quality=80) 
except IOError: 
     print "Cannot create the the new image to disk" 

我怎麼能生成此文件在Python基於與一些嵌入式的HTML/CSS模板(生成圖像的思維)圖像(同時保持照片的高質量打印,並希望獲得好的性能)?

理想情況下,我將HTML文件作爲輸入/參數與一些佔位符,然後,python命令將有X個照片作爲附加參數。

感謝您的幫助!

回答

0

如果我理解正確,你想生成一個包含你的圖像的HTML頁面,並從它渲染圖像(如屏幕拍攝)。

有很多庫可以做HTML到X轉換。
有些使用瀏覽器進行渲染,其他瀏覽器引擎(webkit,...)以無頭的方式渲染,而另一些則使用完整的python。

對於簡單的html/css最新版本可以有最好的性能。

+0

謝謝Cyrbil。在webkit方面,我試圖用wkhtmltoimage轉換一些HTML/SVG,然而,輸出的質量並不是很好(像素)。你知道這是一個已知的限制還是你認爲我做錯了什麼? Chees – Manu

+0

好的,我看着webkit2png,它工作得很好。我遇到的輸出質量問題(我通過wkhtmltoimage驗證了這一點)是因爲我提供的整體質量較差。 webkit2png(〜3秒)也比wkhtmltoimage(〜15秒)表現更好。謝謝你的幫助! – Manu

+0

很高興你找到適合你的東西。 wkhtmltoimage可以選擇設置輸出尺寸和圖像質量,這可能可以解決您的問題。 – Cyrbil

相關問題