python生成圆形图片的方法

yipeiwu_com6年前Python基础

本文实例为大家分享了python生成圆形图片的具体代码,供大家参考,具体内容如下

# -*- coding: utf-8 -*- 
""" 
__author__= 'Du' 
__creation_time__= '2018/1/5 9:08' 
""" 
 
import os, math 
from PIL import Image 
 
 
def circle(): 
 ima = Image.open("ball1.jpg").convert("RGBA") 
 # ima = ima.resize((600, 600), Image.ANTIALIAS) 
 size = ima.size 
 print(size) 
 
 # 因为是要圆形,所以需要正方形的图片 
 r2 = min(size[0], size[1]) 
 if size[0] != size[1]: 
 ima = ima.resize((r2, r2), Image.ANTIALIAS) 
 
 # 最后生成圆的半径 
 r3 = 60 
 imb = Image.new('RGBA', (r3*2, r3*2),(255,255,255,0)) 
 pima = ima.load() # 像素的访问对象 
 pimb = imb.load() 
 r = float(r2/2) #圆心横坐标 
 
 for i in range(r2): 
 for j in range(r2): 
  lx = abs(i-r) #到圆心距离的横坐标 
  ly = abs(j-r)#到圆心距离的纵坐标 
  l = (pow(lx,2) + pow(ly,2))** 0.5 # 三角函数 半径 
 
  if l < r3: 
  pimb[i-(r-r3),j-(r-r3)] = pima[i,j] 
 imb.save("test_circle.png") 
 
circle() 

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详细讲解Python中的文件I/O操作

详细讲解Python中的文件I/O操作

 本章将覆盖所有在Python中使用的基本I/O功能。有关更多函数,请参考标准Python文档。 打印到屏幕上: 产生输出最简单的方法是使用print语句,可以通过用逗号分隔的...

这可能是最好玩的python GUI入门实例(推荐)

这可能是最好玩的python GUI入门实例(推荐)

简单的说,GUI编程就是给程序加上图形化界面. python的脚本开发简单,有时候只需几行代码就能实现丰富的功能,而且python本身是跨平台的,所以深受程序员的喜爱. 如果给程序加一...

75条笑死人的知乎神回复,用60行代码就爬完了

75条笑死人的知乎神回复,用60行代码就爬完了

读:知乎神回复都有些什么特点呢?其实爬取知乎神回复很简单,这篇文章我们就来揭晓一下背后的原理。 我们先来观察一下:   大家看出什么规律了么?短小精辟有没有?赞同很多有没有?...

简单了解python代码优化小技巧

简单了解python代码优化小技巧

对比以下两种写法,思考一下为何可以这样写。 成绩在 [0,50)、[50,60)、[60,80)、[80,100)、100、其它 score = float(input("请输入你的...

Python基于OpenCV库Adaboost实现人脸识别功能详解

Python基于OpenCV库Adaboost实现人脸识别功能详解

本文实例讲述了Python基于OpenCV库Adaboost实现人脸识别功能。分享给大家供大家参考,具体如下: 以前用Matlab写神经网络的面部眼镜识别算法,研究算法逻辑,采集大量训练...