矩形图片通过坐标变化转圆形图片代码
时间: 2023-08-16 10:03:21 浏览: 154
要将矩形图片转换为圆形图片,可以通过以下步骤实现:
1. 打开矩形图片并获取其宽度和高度。
2. 创建一个新的空白图片,宽度和高度都与矩形图片相同。
3. 计算出圆形的半径(半径等于矩形宽度和高度中较小的那个数值的一半)。
4. 循环遍历新图片的每个像素,对于每个像素,计算出其到图片中心点的距离。
5. 如果该距离小于或等于圆形半径,则将该像素设置为矩形图片中相应位置的颜色值;否则,将该像素设置为透明色。
6. 保存新的圆形图片。
以下是代码示例:
```python
from PIL import Image
# 打开矩形图片
rect_image = Image.open("rectangle_image.jpg")
width, height = rect_image.size
# 创建空白的圆形图片
circle_image = Image.new('RGBA', (width, height), (0, 0, 0, 0))
# 计算圆形半径
radius = min(width, height) // 2
# 循环遍历每个像素
for x in range(width):
for y in range(height):
# 计算到中心点的距离
distance = ((x - width/2)**2 + (y - height/2)**2)**0.5
# 如果距离小于或等于圆形半径,则设置该像素颜色
if distance <= radius:
circle_image.putpixel((x, y), rect_image.getpixel((x, y)))
# 保存新的圆形图片
circle_image.save("circle_image.jpg")
```
注意:以上代码仅适用于图片背景为白色的情况。如果图片背景不是白色,则需要将颜色值(0, 0, 0, 0)更改为透明色。此外,以上代码生成的圆形图片是RGBA格式的,如果需要生成其他格式的图片,可以更改Image.new()函数的第一个参数。
阅读全文