PIL使⽤⼩结(crop和paste函数)
(PythonImagingLibrary)是python语⾔中对图像处理⽅⾯的⼀个开源库,其主要功能模块为Image,对于Image模块,可以使⽤
fromPILimportImage
或者
importImage
由于使⽤了试⽤版的chartdir库,在⽣成图⽚的时候下⾯会出现⼀⾏提⽰是⾮注册版的⽂字,看起来不太舒服。
如
所以想使⽤PIL⾃动地将下⾯⼀⾏去掉,查阅了⼀下PIL的⽂档,最后决定使⽤PIL的crop和paste函数实现功能
实现的代码如下:
importImage
importsys
iflen()<2:
print'%s
()
el:
filename=[1]
img=(filename)
width=[0]
height=[1]
img1=((0,0,width,9))
#img1=('RGBA',(width,10))
(img1,(0,height-9))
(filename)
img=(filename)
()
这可以使⽤的⽅法有两种,第⼀种是以及被注释掉的⽅法,即⽣成⼀个新的Image,调⽤⽅法。然后将该image粘贴到需要修
改的图⽚上。另外⼀种为了保持图⽚的前后背景⾊⼀致,从图⽚的最前头拷贝⼀部分图⽚(使⽤crop函数),然后在粘贴到需要修改的图⽚
上,来完成最下端⽂字的覆盖。
crop函数带的参数为(起始点的横坐标,起始点的纵坐标,宽度,⾼度)
paste函数的参数为(需要修改的图⽚,粘贴的起始点的横坐标,粘贴的起始点的纵坐标)
下⾯是处理结果之后的图⽚:
PS.使⽤chartdir⽣成图⽚的Python脚本
#!-*-encoding:utf-8-*-
#!/usr/bin/python
frompychartdirimport*
#Thedataforthebarchart
data=[450,560,630,800,1100,1350,1600,1950,2300,2700,3200,3800]
#Thelabelsforthebarchart
labels=["⼀⽉","⼆⽉","三⽉","四⽉","五⽉","六⽉","七⽉","⼋⽉","九⽉",
"⼗⽉","⼗⼀⽉","⼗⼆⽉"]
#CreateaXYChartobjectofsize600x360pixels
c=XYChart(600,360)
#Addatitletothechartusing18ptsTimesBoldItalicfont
le("卖家⽉份销售图表","",18)
#Settheplotareaat(60,40)rticalgradient
#colorfromlightblue(eeeeff)todeepblue(0000cc)derand
#gridlinestowhite(ffffff).
tArea(60,40,500,280,GradientColor(60,40,60,280,0xeeeeff,
0x0000cc),-1,0xffffff,0xffffff)
#tlightingeffect
#withlightdirectionfromleft.
Layer3(data).tBorderColor(Transparent,softLighting(Left))
#Setxaxislabelsusingthegivenlabels
().tLabels(labels)
#Drawtheticksbetweenlabelpositions(insteadofatlabelpositions)
().tTickOfft(0.5)
#Addatitletotheyaxiswith10ptsArialBoldfont
().tTitle("⼈民币(元)","",10)
#Setaxislabelstyleto8ptsArialBold
().tLabelStyle("",8)
().tLabelStyle("",8)
#Setaxislinewidthto2pixels
().tWidth(2)
().tWidth(2)
#Outputthechart
art("")
本文发布于:2023-01-04 15:22:18,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/91363.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |