संपादित: जोड़ा पूरा काम कर उदाहरणअजगर छवि पुस्तकालय - फॉन्ट स्थिति
मैं निम्नलिखित कार्यक्रम है:
from PIL import Image, ImageDraw, ImageFont
FULL_SIZE = 50
filename = 'font_test.png'
font="/usr/share/fonts/truetype/msttcorefonts/arial.ttf"
text="5"
image = Image.new("RGBA", (FULL_SIZE, FULL_SIZE), color="grey")
draw = ImageDraw.Draw(image)
font = ImageFont.truetype(font, 40)
font_width, font_height = font.getsize(text)
draw.rectangle(((0, 0), (font_width, font_height)), fill="black")
draw.text((0, 0), text, font=font, fill="red")
image.save(filename, "PNG")
यह निम्न छवि उत्पन्न करता है:
यह ऐसा लगता है कि पाठ पीआईएल पुस्तकालय लिखते समय शीर्ष पर कुछ मार्जिन जोड़ता है। यह मार्जिन मेरे द्वारा उपयोग किए जाने वाले फ़ॉन्ट पर निर्भर करता है।
पाठ को स्थान देने की कोशिश करते समय मैं इसे कैसे ध्यान में रख सकता हूं (मैं इसे आयताकार के बीच में होना चाहता हूं)?
(Ubuntu 14.04 पर तकिया 2.3.0 के साथ अजगर 2.7.6 का उपयोग करना)
कृपया एक ** पूर्ण ** प्रोग्राम प्रदान करें जो किसी भी 'आयात' कथन सहित त्रुटि प्रदर्शित करता है। –
एक सायन कारण मैं इसके लिए कल्पना कर सकता हूं कि यदि ओपन सेन्स आनुपातिक आंकड़ों का उपयोग करता है, तो इस मामले में मार्जिन एक्स-ऊंचाई और चढ़ाई के बीच अंतर होगा, इस मामले में यह वहां होना चाहिए। एक कम सौहार्दपूर्ण कारण यह है कि किसी कारण से, पीआईएल में पाठ के एक रन के आकार में कुछ प्रकार का "ऑफसेट" जोड़ा जाता है: https://pillow.readthedocs.org/en/3.0.x/_modules/PIL /ImageFont.html। हो सकता है कि आप जो अंतर देख रहे हैं? यह समझाएगा कि काला आयताकार पूरे पत्र के पीछे क्यों नहीं बढ़ता है। – millimoose
जोड़ा गया पूर्ण कामकाजी उदाहरण। – Filip