2015-09-16 125 views
2

我剛剛開始使用Django和尋找一個解決方案裁剪標誌和自動檢測標識背景,以填補它。大多數標誌是矩形的,但我實際上需要有方形圖像。Django的Imagekit背景填充

這裏是想我做的一個例子。請注意,白色背景是從原始圖像的第一個像素自動檢測到的。我一直在看Django Imagekit,但是在如何完成這個過程中還不太清楚。 http://django-imagekit.readthedocs.org/en/1.1.0/#

有誰知道一個簡單的方法來做到這一點?

enter image description here

回答

2

下面是Django的Imagekit我寫來完成這個自定義的處理器。

from PIL import Image 
from imagekit import ImageSpec, register 
from imagekit.models import ImageSpecField 
from imagekit.processors import ResizeToFit 

class LogoProcessor(ImageSpec): 
    format = 'JPEG' 
    options = {'quality': 90} 
    @property 
    def processors(self): 
     logoimage = self.source 
     image = Image.open(logoimage) 
     rgb_image = image.convert('RGB') 
     r,g,b = rgb_image.getpixel((1, 1)) 
     return [ResizeToFit(300, 300,mat_color=(r,g,b))] 

register.generator('logo_processor', LogoProcessor) 

class Company(models.Model): 
    company_logo = models.ImageField(upload_to=settings.MEDIA_ROOT,default='') 
    company_logo_thumb = ImageSpecField(
      source='company_logo', 
      id='logo_processor' 
     )