Django(71)图片处理器django-imagekit [通俗易懂]

Django(71)图片处理器django-imagekit [通俗易懂]#介绍ImageKit是用于处理图像的Django应用程序。如果需要从原图上生成一个长宽为50×50的图像,则需要ImageKit。ImageKit附带了一系列图像处理器,用于调整大小和裁剪等常见

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

介绍

ImageKit是用于处理图像的Django应用程序。如果需要从原图上生成一个长宽为50×50的图像,则需要ImageKit

ImageKit附带了一系列图像处理器,用于调整大小和裁剪等常见任务。
 

安装

在安装ImageKit之前,我们需要先安装Pillow,因为ImageKit是基于PillowDjango做的封装的第三方库

pip install pillow

然后安装django-imagekit

pip install django-imagekit

完成上述步骤后,在 Django 项目的 settings.py 文件中的 INSTALLED_APPS 添加上: 'imagekit'
 

使用方法

 

ImageSpecField

使用定义图像规范的最简单方法是在模型类上使用 ImageSpecField

from django.db import models
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill

# 用来保存上传图片相关信息的模型
class (models.Model):
    name = models.CharField(max_length = 50)

    # 原图
    avatar = models.ImageField(upload_to = 'test_pictures') 

    # 注意:ImageSpecField不会生成数据库中的表
    # 处理后的图片
    avatar_thumbnail = ImageSpecField(
        source="avatar", 
        processors=[ResizeToFill(100, 50)], # 处理后的图像大小, 宽×高=100×50 
        format='JPEG',  # 处理后的图片格式
        options={'quality': 100} # 处理后的图片质量
        )
    profile = Profile.objects.all()[0]
    print profile.avatar_thumbnail.url    # > /media/CACHE/images/982d5af84cddddfd0fbf70892b4431e4.jpg
    print profile.avatar_thumbnail.width  # > 100

ImageSpecFields的工作方式与DjangoImageFields非常相似。区别在于,它们是由ImageKit根据您给出的说明自动生成的。在上面的示例中,avatar_thumbnailavatar 的大小调整版本,保存为质量为100的JPEG格式。
 

ProcessedImageField

如果您不需要保留原始图像(上例中的image);当用户上传图像时,您只需要对其进行处理并保存结果。在这些情况下,您可以使用ProcessedImageField类:

from django.db import models
from imagekit.processors import ResizeToFill
from imagekit.models import ProcessedImageField

class (models.Model):
    avatar_thumbnail = ImageSpecField(
        source="avatar", 
        processors=[ResizeToFill(100, 50)],
        format='JPEG',
        options={'quality': 100}
        )
    profile = Profile.objects.all()[0]
    print profile.avatar_thumbnail.url    # > /media/avatars/MY-avatar.jpg
    print profile.avatar_thumbnail.width  # > 100

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165362.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java标识符定义规则

    Java标识符定义规则标识符定义、作用:java标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。java语言中规定标识符:由大小写字母、数字、下划线_、和美元符号$组成,但不能以数字开头。标识符不能使用java中的关键字。…

    2022年7月26日
    3
  • 优化算法——牛顿法(Newton Method)

    优化算法——牛顿法(Newton Method)一、牛顿法概述

    2022年5月6日
    270
  • local port是什么意思_tracert命令的用法

    local port是什么意思_tracert命令的用法使用talnet[ip][port]命令,在命令窗口下,让输入的字符回显。 1、cmd进入命令窗口。2、telnet127.0.0.19769连接。3、同时按下Ctrl+]4、输入setLOCALECHO5、再按回车。6、再输入字符,就可以看到了。 …

    2022年9月24日
    1
  • 十种常用代码编辑器

    十种常用代码编辑器1.vscode微软推出的轻量级代码编译器,是本人使用最多的编译器(主要是好玩的插件多),支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、GIT等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。分享下本人的死宅背景~2.NETBEANSNetBeans是Sun公司(2009年被甲骨文收购)在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的JavaIDE。NetBeans当前可以在Solaris、Win

    2022年6月23日
    144
  • Keil5下载安装教程并完成注册(配图操作)[通俗易懂]

    Keil5下载安装教程并完成注册(配图操作)[通俗易懂]Keil5安装教程以及安装包下载1、安装包下载2、下载并解压安装包,并按步骤完成安装2.1、运行安装程序,点击next2.2、勾选accept,点击next2.3、选择安装路径,点击next2.4、信息随意填写,点击next2.5、等待安装2.6、点击finish,完成安装3、打开注册机,完成注册3.1、以管理员身份运行keil53.2、点击licence3.3、打开注册机3.4、复制CID,选择arm,点击Generate3.5、复制生成的4步骤到keil5,点击ADD3.6、注册成功1、安装包下载微

    2022年5月23日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号