首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python的Wand模块

Python的Wand模块

作者头像
狼啸风云
修改2022-09-02 21:07:33
修改2022-09-02 21:07:33
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

ImageMagick安装

ubuntu下安装 sudo apt-get install libmagickwand-dev 其他系统安装方法可以参考 http://docs.wand-py.org/en/0.4.2/guide/install.html

Wand安装

代码语言:javascript
代码运行次数:0
运行
复制
pip install Wand

简单使用

图片缩放

代码语言:javascript
代码运行次数:0
运行
复制
from wand.image import Image
from wand.drawing import Drawing
from wand.color import Color
def resize_photo(filename, width, 
                     height, target):
    with Image(filename=filename) as img:
        img.resize(width, height)
        img.save(filename=target)

图片filename将被缩放到width*height大小,并且重新保存成target

图片拼接

这里讲一种拼接方式是先画一张纯白背景,然后将一张图片放到这个背景的某个位置

代码语言:javascript
代码运行次数:0
运行
复制
from wand.image import Image
from wand.drawing import Drawing
from wand.color import Color

# 画一个纯白背景,并保存成filename
def draw_rec(width, height, filename):
    with Image(width=width,height=height,
               background=Color('White')) as img:
        img.save(filename=filename)

# 将图片img放在img_back的上面,具体位置是距左边界left个像素, 
# 距离上边界top个像素,生成的新图片保存成filename
def composite(img_back, img, left, top, target):
    with Image(filename = img_back) as w:
        with Image(filename = img) as r:
            with Drawing() as draw:
                draw.composite(operator = 'atop',
                        left = left, top = top,
                        width = r.width,
                        height = r.height,
                        image = r)
                draw(w)

if __name__ == '__main__':
    draw_rec(640, 800, 'background.jpg')
    composite('background.jpg', 'front.jpg', 50, 100, 'final.jpg')

命令行的简单使用

composite 实现两张图片的拼接(一张拼到另一张的上面)

代码语言:javascript
代码运行次数:0
运行
复制
composite -gravity northwest -geometry +{left}+{top} {front.jpg} {background.jpg} {target.jpg}
northwest: 表示以左上角为坐标原点
{left}:距离左边界的距离(像素)
{top}:距离上边界的距离(像素)
{front.jpg}: 上面的图片
{background.jpg}: 下面的图片
{target.jpg}: 生成的图片
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ImageMagick安装
  • Wand安装
  • 简单使用
    • 图片缩放
    • 图片拼接
    • 命令行的简单使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档