python中paste函数的作用_PIL使用小结(crop和paste函数)
PIL(Python Imaging Library)是python語言中對圖像處理方面的一個開源庫,其主要功能模塊為Image,對于Image模塊,可以使用
from PIL import Image
或者
import Image
由于使用了試用版的chartdir庫,在生成圖片的時候下面會出現一行提示是非注冊版的文字,看起來不太舒服。
如
所以想使用PIL自動地將下面一行去掉,查閱了一下PIL的文檔,最后決定使用PIL的crop和paste函數實現功能
實現的代碼如下:
import Image
import sys
if len(sys.argv)<2:
print '%s ' % __file__
sys.exit()
else:
filename = sys.argv[1]
img = Image.open(filename)
width = img.size[0]
height = img.size[1]
img1 = img.crop((0,0,width,9))
#img1 = Image.new('RGBA',(width,10))
img.paste(img1,(0,height-9))
img.save(filename)
img = Image.open(filename)
img.show()
這可以使用的方法有兩種,第一種是以及被注釋掉的方法,即生成一個新的Image,調用Image.new方法。然后將該image粘貼到需要修改的圖片上。另外一種為了保持圖片的前后背景色一致,從圖片的最前頭拷貝一部分圖片(使用crop函數),然后在粘貼到需要修改的圖片上,來完成最下端文字的覆蓋。
crop函數帶的參數為(起始點的橫坐標,起始點的縱坐標,寬度,高度)
paste函數的參數為(需要修改的圖片,粘貼的起始點的橫坐標,粘貼的起始點的縱坐標)
下面是處理結果之后的圖片:
PS.使用chartdir生成圖片的Python腳本
#!-*- encoding: utf-8 -*-
#!/usr/bin/python
from pychartdir import *
# The data for the bar chart
data = [450, 560, 630, 800, 1100, 1350, 1600, 1950, 2300, 2700, 3200, 3800]
# The labels for the bar chart
labels = ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月",
"十月", "十一月", "十二月"]
# Create a XYChart object of size 600 x 360 pixels
c = XYChart(600, 360)
# Add a title to the chart using 18pts Times Bold Italic font
c.addTitle("賣家月份銷售圖表", "simsun.ttc", 18)
# Set the plotarea at (60, 40) and of size 500 x 280 pixels. Use a vertical gradient
# color from light blue (eeeeff) to deep blue (0000cc) as background. Set border and
# grid lines to white (ffffff).
c.setPlotArea(60, 40, 500, 280, c.linearGradientColor(60, 40, 60, 280, 0xeeeeff,
0x0000cc), -1, 0xffffff, 0xffffff)
# Add a multi-color bar chart layer using the supplied data. Use soft lighting effect
# with light direction from left.
c.addBarLayer3(data).setBorderColor(Transparent, softLighting(Left))
# Set x axis labels using the given labels
c.xAxis().setLabels(labels)
# Draw the ticks between label positions (instead of at label positions)
c.xAxis().setTickOffset(0.5)
# Add a title to the y axis with 10pts Arial Bold font
c.yAxis().setTitle("人民幣 (元)", "simsun.ttc", 10)
# Set axis label style to 8pts Arial Bold
c.xAxis().setLabelStyle("simsun.ttc", 8)
c.yAxis().setLabelStyle("simsun.ttc", 8)
# Set axis line width to 2 pixels
c.xAxis().setWidth(2)
c.yAxis().setWidth(2)
# Output the chart
c.makeChart("1.png")
總結
以上是生活随笔為你收集整理的python中paste函数的作用_PIL使用小结(crop和paste函数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java反多态的代码_Java多态性代码
- 下一篇: 部队三等功和公务员三等功有什么区别