我有一个PNG格式的背景图片,想要在该图片上添加透明的网格线,但是效果并不如预期。当我在网格线上应用透明度时,背景图片上相应的区域也变成了透明色。
我的操作如下:
from PIL import Image, ImageDraw
map_background = Image.open(MAP_BACKGROUND_FILE).convert('RGBA')
map_mesh = Image.new('RGBA', (width, height), (0, 0, 0, 0))
draw = ImageDraw.Draw(map_mesh)
# Create mesh using: draw.line([...], fill=(255, 255, 255, 50), width=1)
...
map_background.paste(map_mesh, (0, 0), map_mesh)
但是结果是:
![enter image description here](https://istack.dev59.com/wp5Uh.webp)
我可以用以下方法解决:
map_background.paste((255,255,255), (0, 0), map_mesh)
但是,由于我对不同的线使用不同的颜色,因此我必须为每种颜色进行此过程。如果我有100种颜色,那么我需要100个图层,这并不是一个很好的解决方案。