python生成圆形图片的方法

yipeiwu_com7年前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模拟鼠标拖动操作的方法

python模拟鼠标拖动操作的方法

本文实例讲述了python模拟鼠标拖动操作的方法。分享给大家供大家参考。具体如下: pdf中的书签只有页码,准备把现有书签拖到一个目录中,然后添加自己页签。重复的拖动工作实在无趣,还是让...

Python全局变量操作详解

接触Python时间不长,对有些知识点,掌握的不是很扎实,我个人比较崇尚不管学习什么东西,首先一定回去把基础打的非常扎实了,再往高处走。今天遇到了Python中的全局变量的相关操作,遇到...

Python使用Pandas对csv文件进行数据处理的方法

Python使用Pandas对csv文件进行数据处理的方法

今天接到一个新的任务,要对一个140多M的csv文件进行数据处理,总共有170多万行,尝试了导入本地的MySQL数据库进行查询,结果用Navicat导入直接卡死....估计是XAMPP套...

Python中enumerate函数代码解析

enumerate函数用于遍历序列中的元素以及它们的下标。 enumerate函数说明: 函数原型:enumerate(sequence, [start=0]) 功能:将可循环序列...

Python实现的几个常用排序算法实例

前段时间为准备百度面试恶补的东西,虽然最后还是被刷了,还是把那几天的“战利品”放点上来,算法一直是自己比较薄弱的地方,以后还要更加努力啊。 下面用Python实现了几个常用的排序,如快速...