import os,math,time
from PIL import Image
def FUNCcircleimage(STRfilenamein,STRfilenameout):
INTbegintime=time.perf_counter()
FILEIMGhandlein=Image.open(STRfilenamein).convert("RGBA")
INTLISTsize=FILEIMGhandlein.size
INTLISTsizetmp=min(INTLISTsize[0],INTLISTsize[1])
if INTLISTsize[0] != INTLISTsize[1]:
FILEIMGhandlein=FILEIMGhandlein.resize((INTLISTsizetmp,INTLISTsizetmp),Image.ANTIALIAS)
FILEIMGhandlein=FILEIMGhandlein.transpose(Image.ROTATE_90)
FLOATcircler=float(INTLISTsizetmp/2)
FILEIMGhandleout=Image.new('RGBA', (round(FLOATcircler*2),round(FLOATcircler*2)),(255,255,255,0))
IMGPIMhandlein=FILEIMGhandlein.load()
IMGPIMhandleout=FILEIMGhandleout.load()
INToldpercent=0
INTscale=1
INTfornumber=INTLISTsizetmp**2
for i in range(INTLISTsizetmp):
for j in range(INTLISTsizetmp):
INTnewpercent=round(INTscale/INTfornumber*100)
if INTnewpercent>INToldpercent:
INToldpercent=INTnewpercent
INTcnttime=round(time.perf_counter()-INTbegintime)
os.system("clear")
print("正在处理坐标{:>4}*{:>4}的像素,耗时{:>3}秒,完成{:>2}%".format(i,j,INTcnttime,INTnewpercent))
FLOATposx=abs(i-FLOATcircler)
FLOATposy=abs(j-FLOATcircler)
FLOATlenght=(pow(FLOATposx,2)+pow(FLOATposy,2))** 0.5
if FLOATlenght < FLOATcircler:
IMGPIMhandleout[i,j] = IMGPIMhandlein[i,j]
INTscale+=1
FILEIMGhandleout.save(STRfilenameout)
STRfilenamein="inputimage.jpg"
STRfilenameout="circleout.png"
FUNCcircleimage(STRfilenamein,STRfilenameout)