用于简单缩略图的水印过滤器

django-easy-thumbnails-watermark-1的Python项目详细描述


安装

在已安装的应用程序中放置简单的缩略图和水印

INSTALLED_APPS = (
    'easy_thumbnails_watermark',
)

在您的设置中添加水印预处理程序

from easy_thumbnails.conf import Settings as easy_thumbnails_defaults

THUMBNAIL_PROCESSORS = easy_thumbnails_defaults.THUMBNAIL_PROCESSORS + (
    'easy_thumbnails_watermark.thumbnail_processors.watermark_processor',
)

并将“水印”:,添加到缩略图定义中,以实现简单的缩略图。

'thumb': {
    ...
    'WATERMARK': {
        'image': 'main/img/logo.png',
        'opacity': 0.2,
        'scale': '40%',
    },
    ...
},

以及下列设置之一:

  • image-静态文件文件夹中图像的路径

  • position-指定图像四个角中的一个角的相对位置BRBL

    TRTL。它们分别表示“右下”、“左下”、“右上”和“左上”。

    或者,可以使用相对或绝对定位 水印。相对定位使用百分比;绝对定位使用 精确像素。您可以混合和匹配这两种定位模式,但是 无法将相对/绝对与角点定位混合和匹配什么时候? 使用相对/绝对定位,position参数的值 是XxY,其中X是左值,Y是顶值。这个 左值和顶值必须用小写x分隔。

    如果你想让你的水印图像出现在任何图像的中心 要水印,可以使用位置参数,如 position=50%x50%甚至position=C。如果你想让水印 在图像的左右边缘和100像素之间显示一半 从顶部开始,您将使用一个position参数,如 position=50%x100

    最后,你可以告诉过滤器为你的水印生成一个位置 动态的。为此,请使用position=R

  • opacity-此参数允许您指定 已应用水印。值必须是介于0和1之间的整数,其中0 完全透明,1完全不透明。默认情况下,不透明度设置为 0.5分。

  • tile-如果希望水印平铺在整个图像上,则 只需指定一个参数,比如tile=1

  • scale-如果你想在 目标图像并且完全可见,您可能需要使用scale=F如果你 要指定特定的比例因子,只需使用 scale=1.43。 比例也可以是最小图像的一个百分比,被水印的图像, 维度,例如“20%”将水印缩放为最小值的20% 在目标图像的宽度和高度之间。

  • greyscale-如果希望水印为灰度,可以指定 参数greyscale=1和所有颜色饱和度都将消失。

  • rotation-将此参数设置为0到359之间的任何整数(真的 任何整数都可以,但是为了你自己的理智,我建议保持 值介于0和359之间)。如果希望旋转是随机的,请使用 rotation=R而不是整数

  • noalpha默认值为false,删除随水印效果引入的任何alpha,有助于强制jpg图像保持不变,节省大量空间,设置为true可有效地将任何rgb a颜色空间转换为rgb。

它们默认为watermark=false,position='c',opacity=100,scale=1,tile=false,greyscale=false,rotation=0

学分

我从https://raw.github.com/codekoala/django-watermark复制了各种代码 并简单地适应简单的缩略图

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么@DELETE REST不起作用?   带有JPA2的java表值参数。1和Hibernate,Sql Server   如何将Java类添加到Xamarin VS2017项目   绘制多边形时出现java空指针异常   java Apache WebClient 303状态未重定向   java如何用一组字符串数组从数据库中获取数据   java是否可以使用Google Drive API向文件中添加脚本?   java组织。阿帕奇。贾斯珀。JspC jar文件下载   java在整个JSON映射中将单个值作为JSON流   通过命令行将文件输入到java   java rs.next()总是返回false   java标记异常,通知调用方利用异常消息   java Spring YML数组属性为空