如何使用Python PIL创建包含两种颜色且可对指定区域着色的图片
使用Python PIL实现双颜色图片与指定区域着色
实现逻辑
PIL的坐标系以图片左上角为(0,0)原点,x轴向右递增,y轴向下递增,通过paste()方法可以对指定坐标范围内的区域单独着色,轻松实现多颜色图片效果。
操作步骤
- 导入PIL的Image模块
from PIL import Image
- 创建基础单底色画布,
Image.new()的三个参数分别为图片模式、(宽度,高度)、基础底色
# 示例:创建宽度300px、高度200px、白色底色的画布 img = Image.new('RGB', (300, 200), color='white')
- 定义需要单独着色的区域,区域用
(左边界x坐标, 上边界y坐标, 右边界x坐标, 下边界y坐标)的元组表示
# 示例:选取图片上半部分为着色区域 target_area = (0, 0, 300, 100)
- 给目标区域填充第二种颜色
# 示例:给选中区域填充蓝色 img.paste('blue', target_area)
- 保存或预览生成的图片
# 保存到本地 img.save('two_color_img.png') # 直接预览 img.show()
效果示例

补充说明
- 颜色支持传入RGB元组自定义,比如
(255, 0, 0)对应红色,比颜色字符串适配性更强 - 可以多次调用
paste()方法填充不同区域,实现超过2种颜色的多色块图片效果 - 调整
target_area的坐标值即可自定义着色位置,比如左侧半区可以写成(0, 0, 150, 200),右下角小方块可以写成(200, 100, 300, 200)
内容的提问来源于stack exchange,提问作者hawk
相关产品推荐
相关产品推荐

