django – 带有简单缩略图的衬垫
发布时间:2020-12-16 23:17:52  所属栏目:Python  来源:网络整理 
            导读:我正在使用简易缩略图为我的网站制作缩略图.我想从1500x1023px的图像创建缩略图.所需缩略图的大小为100x100px.我想要的是缩略图显示整个徽标而不是裁剪或拉伸.我已经看到这被称为衬垫合身 – 与作物相反.例如,对于此图像,我们在顶部添加236px的空白,在底部添
                
                
                
            | 
                         我正在使用简易缩略图为我的网站制作缩略图.我想从1500x1023px的图像创建缩略图.所需缩略图的大小为100x100px.我想要的是缩略图显示整个徽标而不是裁剪或拉伸.我已经看到这被称为衬垫合身 – 与作物相反.例如,对于此图像,我们在顶部添加236px的空白,在底部添加237px的空白,然后调整大小.有没有办法用简单的缩略图来做到这一点?如果没有,有关如何处理此问题的任何建议?谢谢!
 
解决方法
 感谢Timmy O’Mahony关于创建处理器以进行填充的建议.这是针对类似问题的那些代码.要使其工作,您需要在设置中使用以下内容: 
  
  
  
        THUMBNAIL_PROCESSORS = (
    'easy_thumbnails.processors.colorspace','common.thumbnail_processors.pad_image','easy_thumbnails.processors.autocrop','easy_thumbnails.processors.scale_and_crop','easy_thumbnails.processors.filters') 
 然后你可以将它添加到common / thumbnail_processors.py(或任何地方) import Image
def pad_image(image,**kwargs):
    """ Pad an image to make it the same aspect ratio of the desired thumbnail.
    """
    img_size = image.size
    des_size = kwargs['size']
    fit = [float(img_size[i])/des_size[i] for i in range(0,2)]
    if fit[0] > fit[1]:
        new_image = image.resize((image.size[0],int(round(des_size[1]*fit[0]))))
        top = int((new_image.size[1] - image.size[1])/2)
        left = 0
    elif fit[0] < fit[1]:
        new_image = image.resize((int(round(des_size[0]*fit[1])),image.size[1]))
        top = 0
        left = int((new_image.size[0] - image.size[0])/2)
    else:
        return image
    # For transparent
    #mask=Image.new('L',new_image.size,color=0)
    #new_image.putalpha(mask)
    # For white
    new_image.paste((255,255,255))
    new_image.paste(image,(left,top))
    return new_image
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
相关内容
- 在Python中处理字符串之isdecimal()方法的使用
 - 获取Django一定范围内的所有点数
 - python – django项目的初始设置问题
 - 将Python字典拆分为多个键,将值平分
 - python – 当设置parse_date = [‘column name’]时,pd.re
 - python – 裁剪图像 – Image.crop函数无法正常工作
 - 从Django视图中使用django-piston REST API的最佳方法是什么
 - python – 我想从给定的URL获取json数据而且我必须将json数
 - Django中URLconf和include()的协同工作方法
 - 如何使用带有请求中的多个元素的suds客户端发送请求
 
