pygame.draw.line()這個函數(shù)是python中用來繪制線段的。
創(chuàng)新互聯(lián)主營蘇家屯網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,手機APP定制開發(fā),蘇家屯h5小程序定制開發(fā)搭建,蘇家屯網(wǎng)站營銷推廣歡迎蘇家屯等地區(qū)企業(yè)咨詢
里面的參數(shù)pygame.draw.line(屏幕,顏色,起點,終點,寬度)
顏色是你要繪制的線段的顏色RGB值
起點和終點坐標,左上角是原點這個知道吧
寬度就是線段的寬度啦。
這個就是最終呈現(xiàn)的效果,可以自己嘗試改變這些參數(shù),顏色,寬度,起點,終點。
本節(jié)中的萬花筒通過彩色隨機螺旋線來實現(xiàn)。我們首先定義一個函數(shù)draw(),這個函數(shù)用來繪制一個螺旋線,函數(shù)中的畫筆起始位置的坐標為函數(shù)的兩個形參。然后調(diào)用函數(shù)的時候使用一個for循環(huán)來實現(xiàn)多次調(diào)用函數(shù),同時,函數(shù)的兩個實參由random模塊生成的隨機數(shù)組成。
在Python中,可以通過matplotlib庫的plt.gca()函數(shù)來調(diào)整直方圖的縱軸長度。該函數(shù)會返回一個坐標軸的對象,然后您可以使用set_ylim()函數(shù)來設置新的縱軸范圍,最后使用plt.draw()函數(shù)重繪圖形,即可實現(xiàn)調(diào)整縱軸長度的目的。
本節(jié)我們講介紹一下操作canvas時經(jīng)常用的工具API。在后續(xù)教程中我將會對每個工具進行詳細介紹,本文把他們都介紹給大家,方便朋友們開發(fā)之用。
用line和lines方法可以直接在canvas里繪制直線段
用shape方法可以繪制復雜的形狀
我們可以通過beginText函數(shù)創(chuàng)建text對象,然后可以通過textobject對文本進行格式化處理。最后通過drawText完成最終的繪制工作。
Path對象與Text對象十分相似,他們可以繪制更為復雜的圖形(文字我們也歸類的圖形里)。
我們還可以使用clipPath來將一個矩形的照片剪裁成圓形的頭像。
ReportLab需要使用 Python Imaging Library(PIL)來處理圖片。
在ReportLab里定力兩種繪制圖形的方法,我們建議您采用drawImage方法,因為該方法擁有緩存機制,可以提供繪制效率。另外的方法是drawInlineImage,這個方法古老,該方法通過page stream方式存在位圖,如果您反復使用一張圖片,該方法每次都要重新繪制,從而造成性能低下的問題。不過如果您的照片很少而且較少使用,那么drawInlineImage方法也是非常快速的。
我們先看看古老的方法
drawInlineImage可以在canvas上繪制圖片。image參數(shù)既可以是PIL對象也可以是圖片的地址。ReportLab接受大部分常用圖片文件格式,例如GIF或JPEG。這個函數(shù)最終返回一個 tuple(組),其中包含圖片width和height
drawImage的參數(shù)和返回值與drawInlineImage基本一樣。然后,drawImage卻自帶了緩存系統(tǒng)。當您第一次使用圖片時,系統(tǒng)會將image引用存入序列中。如果您第二次使用時,系統(tǒng)會根據(jù)文件名取隊列中查找,如果您用PIL對象,系統(tǒng)還會檢測PIL的內(nèi)容是否變更。
mask參數(shù)可幫助您創(chuàng)建一個透明的圖形。他有個6個參數(shù)可以擁有絕對RGB那個顏色被掩蓋或透明。
例如
他將使用1或0 來遮蓋紅色,40或41來覆蓋綠色。
showPage()方法將把所有內(nèi)容繪制到頁面中。