安卓中Paint類和Canvas類的方法彙總

来源:http://www.cnblogs.com/smallsima/archive/2017/02/08/6380176.html
-Advertisement-
Play Games

Paint類的常用的方法 1.setColor方法,用於設置畫筆的顏色,public void setColor(int color)//參數color為顏色值,也可以使用Color類定義的顏色Color.BLACK:黑色Color.BLUE:藍色Color.CYAN:青綠色Color.DKGRAY ...


Paint類的常用的方法


1.setColor方法,用於設置畫筆的顏色,
public void setColor(int color)//參數color為顏色值,也可以使用Color類定義的顏色
Color.BLACK:黑色
Color.BLUE:藍色
Color.CYAN:青綠色
Color.DKGRAY:灰黑色
Color.YELLOW:黃色
Color.GRAY:灰色
Color.GREEN:綠色
Color.LTGRAY:淺綠色
Color.MAGENTA:紅紫色
Color.TRANSPARENT:透明色


2.setAlpha方法,用於設置畫筆的透明度
public void setAlpha(int a )//參數a為透明度,其取值範圍為0~255,數值越小越透明


3.setStyle方法,用於設置畫筆的風格,可以指定是圓心還是實心,該方法在矩形,圓形有明顯的效果
public void setStyle(Paint.Style style)//參數style為畫筆的風格
Style.FILL:實心
Style.FILL_AND_STROKE:同時顯示實心和空心
Style.STROKE:空心


4.setStrokeWidth方法,用於設置畫筆的空心線寬,該方法在矩形,圓形,等圖形上有明顯的效果
public void setStrokeWidth(float width)//參數width為線寬,浮點型數據


5.setTextSize方法,用於設置畫筆的字體大小,主要用於繪製字元串
public void setTextSize(float textSize)//


6.setTypeface方法用於設置畫筆的字體樣式,可以使用系統自帶的欄位,也可以使用自定義的字體
public void Typeface(Typeface typeface)//typeface為字體樣式
Typeface.DEFAULT:預設字體
Typeface.DEFAULT_BOLD:加粗字體
Typeface.MONOSPACE:monospace字體
Typeface.SANS_SERIF:sans字體
Typeface.SERIF:serif字體


7.setTextScaleX方法.用於設置畫筆字體的比例因數,預設為1,當大於1時表示橫向拉伸,小於1時表示橫向壓縮
public void setTextScaleX(float scaleX)


8.setARGB方法,用於設置畫筆的顏色和透明度
public void setARGB(int a,int r,int g,int b);
參數a為透明度,範圍0~255
參數r為紅色的顏色值,範圍0~255
參數g為綠色的顏色值,範圍0~255
參數b為藍色的顏色值,範圍0~255


9.setUnderlineText方法,用於設置畫筆的下劃線
public void setUnderlineText(Boolean underlintext)
當取值為true時,表示顯示下劃線


10.setTextSkewX方法,用於設置畫筆的傾斜因數
public void setTextSkewX(float skewX)
參數skewX為傾斜因數,正數表示向左傾斜,負數表示向右傾斜

 


Canvas類的方法


1.public void drawColor(int color)
用於設置畫布的背景顏色


2.public void drawLine(float starX,float startY,float stopX,float stopY,Paint paint);
用於在畫布上繪製直線
參數分別為直線起點的X坐標,Y坐標,終點的X坐標,Y坐標,用到的畫筆


3.public void drawLines(float[] pts,Paint paint)
用於在畫布上繪製多條直線
參數pts為繪製直線的端點數組,每條直線占用4個數據


4.public void drawPoint(float x,float y,Paint paint)
用於在畫布上繪製點
參數為點的X,Y坐標,和所用的畫筆


5.public void drawPoints(float[] pts,Paint paint)
public void drawPoints(float[] pts,int offset,int count,Paint paint)
參數pts為繪製點的數組,每個點占用2個數據
參數offset為跳過的數據的個數
參數count為實際參與繪製的數據的個數


6.public void drawRect(Rect rect,Paint paint)
public void drawRect(RectF rect,Paint paint)
public void drawRect(float left,float float top,float right,float below,Paint paint)
用於繪製矩形


7.public void drawRoundRect(RectF rect,float rx,float ry,Paint paint)
用於繪製圓角矩形
rx為X方向上的圓角半徑
ry為Y方向上的圓角半徑


8.public void drawCircla(float cx,float cy,float radius, Paint paint)
用於在畫布上繪製圓形
cx為圓形的x坐標
cy為圓形的y坐標
rad為圓的的半徑


9.public void drawOval(RectF rect.Paint paint)
用於繪製橢圓
通過指定橢圓的外切矩形實現


10.public void drawPath(Path path,Paint paint)
用於在畫布上繪製任意多邊形來實現


11.public void drawArc(RectF oval,float startAngle,float sweepAngle,`Boolean usecenter,Paint p)
參數oval為圓弧所在的橢圓對象
startAngle為圓弧的起始角度,
sweepAngle為圓弧的角度,
useCenter表示是否顯示半徑連線,當取值為true時,顯示圓弧與圓心的半徑連線,


12,public void drawText(String text,float x,float y, Paint paint)
public void drawText(char[] text,int index,int count,float x,float y,Paint paint)
public void drawText(CharSequence text,int start,int end,float x,float y,Paint paint)
public void drawText(String text,int start,int end,float x,float y,Paint paint)
參數text為字元串的內容,
x為X坐標
y為Y坐標
index為顯示的起始字元位置
count為顯示的字元個數
start為顯示的起始字元的位置
end為顯示的終止的字元的位置


13,public void drawBitmap(Bitmap bitmap,float left,float top,Paint paint)
參數bitmap為Bitmap對象,代表圖像資源,
left為圖像顯示的左邊的位置
right為圖像的顯示的右邊的位置


14,public int save()
用於鎖定畫布中的某一個或某幾個對象,用於鎖定對象操作的場合
使用sava方法鎖定畫布並完成操作之後,需要使用restore方法解除鎖定


15,public Boolean clipRect(Rect rect)
public Boolean clipRect(float left,float top,float right,float bottom)
public Boolean clipRect(int left,int top,int right,int boottom)
該方法用於裁剪畫布,設置畫布的顯示區域


16,public void rotate(float degrees)
public void rotate(float degrees,float px,float py)
用於旋轉畫布,通過旋轉畫布,可以將畫布上繪製的對象旋轉
參數degrees為旋轉的角度,正數為順時針方向,負數為逆時針方向
px為旋轉點的x坐標
py為旋轉點的y坐標


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 知識點: 1.UITabBarController使用 2.UITabBarItem使用 關於TabBarController除了本次整理的內容,有興趣的可以看下我以前發過的這兩篇,在實際開發中很實用的東西. RDVTabBarController的基本使用 以及tabbar的防止雙點擊方法 從ta ...
  • 作者:Antonio Leiva 時間:Feb 8, 2017 原文鏈接:https://antonioleiva.com/generic-functions-kotlin/ Kotlin的一些特性組合起來與泛型混合使用創建函數可以極大的簡化你的編碼,且保證它的可讀性。 在Kotlin庫中,有幾個函 ...
  • 由OpenDigg 出品的iOS開源項目周報第七期來啦。我們的iOS開源周報集合了OpenDigg一周來新收錄的優質的iOS開源項目,方便iOS開發人員便捷的找到自己需要的項目工具等。 ...
  • 1.在新的地址添加一個用戶,並創建一個文件 打開新地址 ssh 用戶名@ ip 密碼:xxxx sudo adduser asamu 連敲三次 enter 之後輸入 n, 表示不要密碼,下麵填寫一些詳細信息(選填),輸入 y 繼續 su asamu 切換用戶, cd /home 可以看到用戶文件夾 ...
  • 最近項目需要針對微信、朋友圈、QQ、QQ空間集成友盟分享的功能,說實話,我也是第一次做,期間碰到過很多問題,這篇隨筆就來寫一下我是怎麼集成友盟分享的,還有碰到哪些問題,都是怎樣解決的! 其實集成友盟並不是很難,跟著集成文檔一步一步走下來就可以,而且下載的友盟SDK會附帶Demo,但是Demo中有很... ...
  • 熱更新方案:使用騰訊的tinker,對於加固的apk(360和應用寶2個渠道)不支持 不加固的apk:使用熱更新方案,無需安裝,所有不加固的文件共用一個更新包 加固的apk:使用下載新的完整apk的方案,重新安裝,後臺管理補丁時先上傳加固的補丁apk再上傳不加固共用的補丁文件 增加補丁配置文件(每次 ...
  • /** * bitmap 圖片縮放到指定大小 */ public static Bitmap resizeImage(Bitmap bitmap, int w, int h) { Bitmap BitmapOrg = bitmap; int width = BitmapOrg.getWidth();... ...
  • 個人微信公眾號:zhaoyanjun125 , 歡迎關註 QQ交流群:431048982 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...