修改上述程序,改线条宽为10,间隔均匀分布的黑白竖直纹
时间: 2024-10-04 22:04:32 浏览: 5
如果你想在原有的程序基础上将线条宽度设为10像素,并均匀分布在图像上形成黑白竖直纹,你可以这样修改:
```python
def add_vertical_line(img, y_coordinate, line_width=10, color=(0, 0, 0)):
width, height = img.size
left = 0
right = width
draw = ImageDraw.Draw(img)
# 确保y_coordinate在图像范围内
if 0 <= y_coordinate < height:
draw.line([(left, y_coordinate), (right, y_coordinate)], fill=color, width=line_width)
# 其他部分保持不变
for filename in os.listdir(source_dir):
if filename.endswith(".jpg") or filename.endswith(".png"):
with Image.open(os.path.join(source_dir, filename)) as img:
for i in range(10): # 将间隔改为0-9(如果10代表总高度)
y = i * img_height // 10 + line_width // 2 # 避免线条部分超出边界
add_vertical_line(img, y, line_width=10, color=(0, 0, 0)) # 黑色线条
images_to_process.append(img)
new_filename = f"{os.path.splitext(filename)[0]}_with_lines.jpg"
img.save(os.path.join(target_dir, new_filename))
```
这里,我们设置了`line_width`为10像素,`color`为黑色,同时在绘制线条时稍微偏移一下y坐标,使得线条中心位于指定位置。记得检查线条的位置不会超过图像范围。