如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
一、Canvas繪圖繪製的基本形狀:組成繪製內容的基本圖素,如點、線段、矩形、橢圓形等。繪圖主要是在View類別的「onDraw(Canvas)」方法內完成,因此要在Canvas上繪圖,應該先建立一個繼承自View的子類別,然後在此類別中的onDraw(Canvas)方法內完成繪圖。二、基本形狀繪製劃弧:使用的方法為「drawArc(RectFoval,floatstartAngle,floatsweepAngle,booleanuseCenter,Paintpaint)」。劃圓:使用的方法為「drawCircle(floatcx,floatcy,floatradius,Paintpaint)」。劃橢圓:使用的方法為「drawOval(RectFoval,Paintpaint)」。劃矩形:使用的方法為「drawRect(floatleft,floattop,floatright,floatbottom,Paintpaint)」。劃圓角矩形:使用的方法為「drawRoundRect(RectFrect,floatrx,floatry,Paintpaint)」CanvasDrawTest範例在Canvas上繪製一些不同顏色的幾何圖形。在專案中增加一個View的延伸類別,命名為「DrawImage.java」。在這自建類別中用Paint陣列設定了6組畫刷,分別用以繪製6種幾何圖形。範例詳細內容請參考原書。三、路徑與繪製文字DashPathEffect:設定構成路徑的線段是以破折號構成。PathDashPathEffect:類似DashPathEffect,但破折號是以指定形狀建立。ComposePathEffect:作用是先應用內部的效果(參數2),再用外部效果(參數1)。null:不設定任何特效。Canvas對文字提供3組方法,說明如下:drawText():從指定位置劃出文字,執行此方法需提供要劃的文字、開始劃的位置以及畫刷等參數。rawTextOnPath():沿指定的路徑劃出文字內容,執行此方法需提供要劃的文字、依循的路徑、指定從距離路徑起點水平位置開始劃、設定文字與路徑的垂直偏移量以及畫刷等參數,也可以指定只劃文字的部份內容。drawPosText():這方法是以指定文字內容每一個字(中文字或英文字母)的位置,將文字顯示在Canvas上,執行時需要提供要劃的文字、含每個字(或英文字母)座標的陣列以及畫刷等參數,也可以指定只劃文字的部份內容。DrawTextTest範例在Canvas上劃出4組文字,第1組只設定文字大小與顏色;第2組除了文字大小與顏色外,還設定了文字傾斜效果;第3組使用第1組的畫刷,但設定文字沿指定路徑描繪;第4組也是使用第1組的畫刷,但指定了文字描繪時每一個字的座標位置。範例詳細內容請參考原書。四、點陣圖繪製另一種作法是透過「Bitmap」與「BitmapFactory」類別,這種作法是先用「InputStream」物件取得要繪製點陣圖的資源,然後借助BitmapFactory類別的「decodeStream()」方法將存有點陣圖資源的輸入串流解碼為Bitmap物件,最後再用Canvas的「drawBitmap()」方法繪出點陣圖。DrawBitmapTest範例同時使用Drawable與Bitmap在Canvas上繪出g6.jpg與g5.jpg影像檔。此檔案已事先存至專案「/res/drawable-xhdpi/」目錄。範例詳細內容請參考原書。五、2D影像處理為影像增加渲染效果渲染主要是讓原影像和另一個圖樣(可以是顏色或其他影像)融合而產生的特殊效果。Android提供的渲染方式有以下幾種:BitmapShader:用點陣圖作為渲染的圖樣。publicBitmapShader(Bitmapbitmap,Shader.TileModetileX,Shader.TileModetileY)LinearGradient:渲染圖樣是沿一條指定線(以線2端的座標指定)變化的色彩publicLinearGradient(floatx0,floaty0,floatx1,floaty1,int[]colors,float[]positions,Shader.TileModetile)RadialGradient:渲染圖樣是以指定中心為起點,輻射向外變化的顏色梯度publicRadialGradient(floatx,floaty,floatradius,int[]colors,float[]positions,Shader.TileModetile)SweepGradient:渲染圖樣是以指定中心產生的掃描顏色梯度publicSweepGradien