+++ /dev/null
-# -*- coding: utf-8 -*-
-############################################################
-# Copyright © 2005-2008 Benoît PIN <benoit.pin@ensmp.fr> #
-# Plinn - http://plinn.org #
-# #
-# This program is free software; you can redistribute it #
-# and/or modify it under the terms of the Creative Commons #
-# "Attribution-Noncommercial 2.0 Generic" #
-# http://creativecommons.org/licenses/by-nc/2.0/ #
-############################################################
-"""
-
-
-"""
-
-from Globals import package_home
-from os import path
-from PIL.Image import open as imgopen
-from ImageDraw import Draw
-from PIL.ImageDraw import Draw
-from PIL.ImageFont import truetype
-from Products.Portfolio.Extensions import fontdir
-from Products.Photo.cache import memoizedmethod
-
-class FontCache:
- def __init__(self) :
- self._methodResultsCache = {}
-
- @memoizedmethod('name', 'size', 'index')
- def get(self, name, size, index) :
- fontfile = path.join(fontdir, name)
- font = truetype(fontfile, size, index=index)
- return font
-
-
-fontCache = FontCache()
-
-
-def addWatermark(self, image, text, size=20, margin_right=10, margin_bottom=10, font='verdana.ttf', index=0, encoding='utf-8') :
-
- font = fontCache.get(font, size, index)
- text = text.decode(encoding)
- tw, th = font.getsize(text)
- iw, ih = image.size
-
- d = Draw(image)
-
- left, top = (iw - tw - margin_right, ih - th - margin_bottom)
-
- d.text((left, top), text, font = font)