#!/usr/bin/python
# -*- coding:utf-8 -*-
from PIL import Image
# 涛哥用代码看是那的错 https://blog.kydbk.com
img = Image.open("test.png")
# 获取图片尺寸的大小(600,600)
print img.size
# 获取图片的格式 png
print img.format
# 获取图片的图像类型 RGBA
print img.mode
# 显示图片
img.show()
# 获取某个像素位置的值
print img.getpixel((126, 52))
# 生成缩略图
# img.thumbnail((128, 128))
# 保存图片
# img.save('image_thumb.jpg', 'JPEG')
"""
# 获取图片指定像素点的像素
def getPngPix(pngPath = "test.png",x = 1,y = 1):
img_src = Image.open(pngPath)
img_src = img_src.convert('RGBA')
img_array = img_src.load()
data = img_array[x,y]
img_src.close()
return data
# 输入当前位置像素 (207,75,90,255)
print(getPngPix("test.png",126,52))
"""
# 判断某像素值是否在图像中
# 查找目标色值 (1,1,1,255)
# 查找目标色值 (2,2,2,255)
# 查找目标色值 (255,250,250,255)
i = 1
j = 1
result = 0
break_flag = False
width = img.size[0]#长度
height = img.size[1]#宽度
for i in range(0,width):#遍历所有长度的点
for j in range(0,height):#遍历所有宽度的点
#每个像素点的颜色RGBA的值(r,g,b,alpha)
data = (img.getpixel((i,j)))#打印该图片的所有点
# 判断RGBA的值
if (data[0]==255 and data[1]==250 and data[2]==250):
# if (data[0]==207 and data[1]==75 and data[2]==90):
result = 1
print"图片中存在该像素!"
break_flag = True
break
if break_flag==True:
break
if break_flag==True:
break
if(result == 0):
print"图片中不存在该像素!"
"""
data = (img.getpixel((i,j)))#打印该图片的所有点
print (data)#打印每个像素点的颜色RGBA的值(r,g,b,alpha)
print (data[0])#打印RGBA的r值
if (data[0]>=170 and data[1]>=170 and data[2]>=170):#RGBA的r值大于170,并且g值大于170,并且b值大于170
img.putpixel((i,j),(234,53,57,255))#则这些像素点的颜色改成大红色
img = img.convert("RGB")#把图片强制转成RGB
img.save("e:/pic/testee1.jpg")#保存修改像素点后的图片
"""