我刚刚开始使用 Django 并寻找裁剪徽标并自动检测徽标背景以填充它的解决方案。大多数徽标都是矩形的,但我实际上需要有方形图像。
这是我想做的一个例子。请注意,从原始图像的第一个像素自动检测到白色背景。我一直在研究 Django Imagekit,但仍然不太清楚如何实现这一点。http://django-imagekit.readthedocs.org/en/1.1.0/#
有谁知道一个简单的方法来做到这一点?
我刚刚开始使用 Django 并寻找裁剪徽标并自动检测徽标背景以填充它的解决方案。大多数徽标都是矩形的,但我实际上需要有方形图像。
这是我想做的一个例子。请注意,从原始图像的第一个像素自动检测到白色背景。我一直在研究 Django Imagekit,但仍然不太清楚如何实现这一点。http://django-imagekit.readthedocs.org/en/1.1.0/#
有谁知道一个简单的方法来做到这一点?
这是我为完成此任务而编写的 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'
)