欢迎访问宙启技术站
智能推送

wand.image模块中Image()类的基本用法

发布时间:2023-12-18 19:58:35

wand.image模块中的Image()类是Wand库中用于表示和操作图像的主要类。它提供了一系列方法和属性,可以用来创建、加载、保存、修改和显示图像。

基本用法:

1. 创建一个空的图像对象

可以使用Image()类的构造函数创建一个空的图像对象,格式为Image(width, height, background),其中width和height分别为图像的宽度和高度,background为可选参数,表示图像的背景色。示例代码如下:

from wand.image import Image

with Image(width=300, height=200, background='white') as img:
    img.save(filename='empty_image.png')

2. 加载和保存图像

可以使用Image类的from_file()方法加载图像文件,使用save()方法保存图像。示例代码如下:

from wand.image import Image

with Image(filename='image.jpg') as img:
    img.save(filename='image_cpy.png')

3. 修改图像尺寸

可以使用Image类的resize()方法修改图像的尺寸。示例代码如下:

from wand.image import Image

with Image(filename='image.jpg') as img:
    img.resize(500, 500)
    img.save(filename='resized_image.png')

4. 旋转和翻转图像

可以使用Image类的rotate()方法对图像进行旋转,使用flip()和flop()方法进行水平和垂直翻转。示例代码如下:

from wand.image import Image

with Image(filename='image.jpg') as img:
    # 旋转90度
    img.rotate(90)
    img.save(filename='rotated_image.png')

    # 水平翻转
    img.flip()
    img.save(filename='flipped_image.png')

    # 垂直翻转
    img.flop()
    img.save(filename='flopped_image.png')

5. 裁剪图像

可以使用Image类的crop()方法裁剪图像。示例代码如下:

from wand.image import Image

with Image(filename='image.jpg') as img:
    img.crop(left=100, top=100, width=200, height=200)
    img.save(filename='cropped_image.png')

6. 添加水印

可以使用Image类的composite()方法在图像上添加水印。示例代码如下:

from wand.image import Image
from wand.drawing import Drawing
from wand.color import Color

with Image(filename='image.jpg') as img:
    with Drawing() as draw:
        draw.font = 'arial.ttf'
        draw.font_size = 36
        draw.fill_color = Color('white')
        draw.text(x=100, y=100, body='Watermark')
        draw(img)

    img.save(filename='watermarked_image.png')

7. 显示图像

可以使用Image类的show()方法在窗口中显示图像。示例代码如下:

from wand.image import Image

with Image(filename='image.jpg') as img:
    img.show()

这些是wand.image模块中Image()类的基本用法。通过使用这些方法和属性,你可以很容易地创建、加载、保存、修改和显示图像。具体的使用方式还可以参考Wand库的官方文档。