Django的图像字段

django-imagefield的Python项目详细描述


图像处理器

Django ImageField使用的图像处理管道 Django的中间件。

以下处理器是现成的:

  • 自动旋转 :通过读取exif数据自动旋转图像。
  • 处理JPEG:将非RGB图像转换为RGB,激活 渐进式编码,并将质量设置为90的更高值。
  • 处理gif :在调整大小时保留透明度和调色板数据 图像:
  • t>保留ICC配置文件
    :如名称所示。
  • 缩略图 :调整图像大小,使其不超过边框。
  • 裁剪 :将图像裁剪到给定的维度,同时获取ppoi (主要关注点)如果提供,请考虑信息。
  • 默认值 :自动旋转 处理JPEG 的组合, 处理gif 保留icc配置文件 。附加违约 未来可能会增加处理器。建议使用 默认值 而不是逐个添加处理器。

处理器可以单独使用其名称指定,或者 获取参数,使用元组,其中第一个条目是处理器的 name和其余的是位置参数。

您可以轻松注册自己的处理器,甚至可以重写内置的 处理器(如果需要):

fromimagefield.processingimportregister# You could also write a class with a __call__ method, but I really# like the simplicity of functions.@registerdefmy_processor(get_image,...):defprocessor(image,context):# read some information from the image...# or maybe modify it, but it's mostly recommended to modify# the image after calling get_imageimage=get_image(image,context)# modify the image, and return it...modified_image=...# maybe modify the context...returnmodified_imagereturnprocessor

处理器的名称直接取自注册对象。

将图像转换为灰度的示例处理器如下所示 以下:

fromPILimportImageOpsfromimagefield.processingimportregister@registerdefgrayscale(get_image):defprocessor(image,context):image=get_image(image,context)returnImageOps.grayscale(image)returnprocessor

现在将 "灰度" 包含在图像的处理规范中,其中 您想使用它。

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

推荐PyPI第三方库


热门话题
java无法在spring boot应用程序中启用本机内存跟踪   jakarta ee在Java Web项目上的多窗口   日期将Java时间戳转换为MySQL时间戳,反之亦然   java如何实现异步任务连接到服务器并解析JSON   java为什么我得到索引越界异常?   我们如何在java中以大写字母和小写字母存储同名文件   jni/java:有效不可变本机对象的线程安全发布/共享   Java将文本写入远程文件   int最小硬币算法   java如何设置/获取我在类Vehicle的主方法中创建的类Car的“ford”实例的名称?   java使用计时器在队列已满时重新调度使用者   java从字符串的末尾提取一个子字符串,直到遇到第一个空格为止?   java在SimpleApplication之外正确初始化物理状态