Canvas畫布,用于繪制出各種形狀配合畫布的變幻操作可以繪制出很多復(fù)雜圖形,基本的繪制圖形分類。
創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷,提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營(yíng)銷、微信小程序開發(fā)、公眾號(hào)商城、等建站開發(fā),創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。
Canvas實(shí)際上是封裝了各種draw方法的類,調(diào)用draw方法把圖形繪制到底層的Surface上,即繪制在Window上。
Canvas : 畫布對(duì)象,相當(dāng)于現(xiàn)實(shí)生活中畫圖用的 ‘紙 或 布’。
在ondraw方法中,通過(guò)canvas來(lái)繪制想要的樣式,首先需要定義好畫筆,以及畫筆的各種屬性,比如需要的時(shí)候要抗鋸齒等等。
在定制的View組件的onDraw()方法內(nèi)部,使用給定的Canvas對(duì)象來(lái)完成所有的圖形繪制處理(如Canvas.draw…()方法或把該Canvas對(duì)象作為參數(shù)傳遞給其他類的draw() 方法)。
這種方式根據(jù)環(huán)境還分為兩種:一種就是使用普通View的canvas畫圖,還有一種就是使用專門的SurfaceView的canvas來(lái)畫圖。
1、Canvas.save用于保存當(dāng)前matrix和clip,Canvas.restore用于恢復(fù)上次保存的matrix和clip。Drawable是一個(gè)能畫出來(lái)的物體的抽象,使用前需要調(diào)用setBounds確定位置和大小,通過(guò)getIntrinsicHeight和getIntrinsicWidth取到實(shí)際大小。
2、Drawable:所有可見對(duì)象的描述,理解為:素材類;Bitmap:圖片類;Canvas:畫筆;Paint:畫筆樣式與顏色、特效的集合;對(duì)于Android UI開發(fā)自繪控件和游戲制作而言掌握好繪圖基礎(chǔ)是必不可少的有關(guān)OpenGL ES相關(guān)。
3、Canvas畫布,用于繪制出各種形狀配合畫布的變幻操作可以繪制出很多復(fù)雜圖形,基本的繪制圖形分類。
4、Bitmap - 稱作位圖,一般位圖的文件格式后綴為bmp,當(dāng)然編碼器也有很多如RGB56RGB888。作為一種逐像素的顯示對(duì)象執(zhí)行效率高,但是缺點(diǎn)也很明顯存儲(chǔ)效率低。我們理解為一種存儲(chǔ)對(duì)象比較好。
1、首先paint的作用類似于一個(gè)畫筆,你可以設(shè)置這個(gè)畫筆的粗細(xì),顏色,軌跡的STYLE等等,paint是不能用來(lái)設(shè)置背景的。
2、通過(guò)修改Paint對(duì)象,可以在繪圖的時(shí)候控制顏色、樣式、字體和特殊效果。
3、Paint類 和日常繪圖一樣,要繪制圖形,首先得選擇合適的畫筆。