python 旋转指定像素的图片
时间: 2023-10-04 14:09:56 浏览: 40
以下是使用Python和Pillow库旋转指定像素的图片的示例代码:
```python
from PIL import Image
# 打开图片
img = Image.open('image.jpg')
# 定义旋转角度和旋转中心像素坐标
angle = 45
center = (100, 100)
# 获取像素数据
pixels = img.load()
# 计算旋转后每个像素的新坐标和颜色值
for x in range(img.width):
for y in range(img.height):
# 计算旋转后的坐标
x_new = int((x - center[0]) * math.cos(math.radians(angle)) - (y - center[1]) * math.sin(math.radians(angle)) + center[0])
y_new = int((x - center[0]) * math.sin(math.radians(angle)) + (y - center[1]) * math.cos(math.radians(angle)) + center[1])
# 判断坐标是否在图片范围内
if x_new >= 0 and x_new < img.width and y_new >= 0 and y_new < img.height:
# 获取原始像素颜色值
color = pixels[x, y]
# 将旋转后的像素颜色值赋值给新坐标
pixels[x_new, y_new] = color
# 保存旋转后的图片
img.save('image_rotated.jpg')
```
在上面的代码中,我们首先使用Pillow库打开图片。然后定义旋转角度和旋转中心像素坐标。接下来使用`load()`方法获取像素数据,并遍历所有像素,计算旋转后的新坐标和颜色值,并将新的颜色值赋值给新坐标。最后保存旋转后的图片。注意,这里只是演示如何旋转指定像素的图片,实际应用中可能需要更复杂的逻辑来确定旋转的像素。