最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android原生繪圖工具Paint詳細(xì)

 更新時間:2021年09月26日 17:32:40   作者:MatumbaMan  
這篇文章要給大家分享的是Android原生繪圖工具Paint,android中提供了類似的工具Canvas和Paint,分別對應(yīng)畫布和畫筆,本文就來介紹Androi中的Paint,感興趣的小伙伴一起來學(xué)習(xí)下面文章內(nèi)容

前言:

生活中繪制圖案需要紙和筆,android中提供了類似的工具CanvasPaint,分別對應(yīng)畫布和畫筆。

The Paint class holds the style and color information about how to draw geometries, text and bitmaps.

Paint擁有繪制幾何圖形、文本、圖片的樣式和顏色信息。

The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap), and a paint (to describe the colors and styles for the drawing).

Canvas擁有繪圖的請求權(quán),想要完成繪制,需要4個基本元素:保存像素的Bitmap、一個可以調(diào)用draw方法的canvas、要繪制的內(nèi)容描述、一個畫筆。憑借這4個元素就可以繪制到一個bitmap上,然后渲染到屏幕上。

1.簡介

今天先將一下Paint的相關(guān)內(nèi)容。Paint提供了三種初始化方法:

Paint() 
Paint(int flag)
Paint(Paint paint)

2.基本屬性使用

2.1 setAlpha透明度

setAlpha(int a) 設(shè)置范圍0~255

2.2 setStyle填充樣式

填充樣式表示繪線和填充的選擇:

Paint.Style.FILL
Paint.Style.FILL_AND_STROKE
Paint.Style.STROKE

2.3 顏色,字體,對齊,抗鋸齒

setColor,setARGB設(shè)置顏色,設(shè)置畫筆的顏色,
setARGB()參數(shù)范圍0-255。
setAntiAlias(boolean) 抗鋸齒,使邊界更順滑(有些屏幕分辨率不高,導(dǎo)致像素點比較大,繪制邊界可能會有顆粒感,打開抗鋸齒邊界顆粒感會減少)。
setTextSize(float textSize) 字體大小,單位是px,如果是dp要注意轉(zhuǎn)換。
setTextAlign(Paint.Align.RIGHT)設(shè)置字體對齊方式,根據(jù)下面的實例可以,對齊方式基于開始繪制的點。

mTextPaint.setTextAlign(Paint.Align.LEFT);
canvas.drawText("MatumbaMan的博客",200, 200, mTextPaint);

mTextPaint.setTextAlign(Paint.Align.RIGHT);
canvas.drawText("MatumbaMan的博客",200, 300, mTextPaint);

mTextPaint.setTextAlign(Paint.Align.CENTER);
canvas.drawText("MatumbaMan的博客",200, 400, mTextPaint);

2.4 setShadowLayer 陰影

setShadowLayer(float radius, float dx, float dy, int shadowColor) 設(shè)置陰影

Radius設(shè)置角度,dx,dy控制字體的上下左右出現(xiàn),有正負(fù)之分,dx的正負(fù)代表右左,dy的正負(fù)代表下上。

mTextPaint.setTextAlign(Paint.Align.LEFT);
mTextPaint.setShadowLayer(10, -20, 40, Color.GRAY);
canvas.drawText("MatumbaMan的博客",200, 200, mTextPaint);


mTextPaint.setTextAlign(Paint.Align.RIGHT);
canvas.drawText("MatumbaMan的博客",200, 300, mTextPaint);

mTextPaint.setTextAlign(Paint.Align.CENTER);
canvas.drawText("MatumbaMan的博客",200, 400, mTextPaint);

2.5 setStrokeCap

setStrokeCap(Paint.Cap.ROUND)設(shè)置繪制起始點和結(jié)尾點的樣式,

三種樣式ROUND,BUTT,SQUARE

Cap.ROUND(圓形)
Cap.SQUARE(方形)
Paint.Cap.BUTT(無)

Path path = new Path();
path.moveTo(100, 100);
path.lineTo(100, 200);
path.lineTo(200, 300);
canvas.drawPath(path, mPaint2);//無

path.reset();
path.moveTo(300, 100);
path.lineTo(300, 200);
path.lineTo(400, 300);
mPaint2.setStrokeCap(Paint.Cap.ROUND);//圓
canvas.drawPath(path, mPaint2);

path.reset();
path.moveTo(500, 100);
path.lineTo(500, 200);
path.lineTo(600, 300);
mPaint2.setStrokeCap(Paint.Cap.SQUARE);//方
canvas.drawPath(path, mPaint2);

2.6 setStrokeJoin

setStrokeJoin(Paint.Join join),設(shè)置繪制path連接點的樣式

Join.MITER(結(jié)合處為銳角)
Join.Round(結(jié)合處為圓弧)
Join.BEVEL(結(jié)合處為直線)

Path path = new Path();
path.moveTo(100, 100);
path.lineTo(100, 200);
path.lineTo(200, 300);
mPaint2.setStrokeJoin(Paint.Join.MITER);
canvas.drawPath(path, mPaint2);

path.reset();
path.moveTo(300, 100);
path.lineTo(300, 200);
path.lineTo(400, 300);
mPaint2.setStrokeJoin(Paint.Join.ROUND);
canvas.drawPath(path, mPaint2);

path.reset();
path.moveTo(500, 100);
path.lineTo(500, 200);
path.lineTo(600, 300);
mPaint2.setStrokeJoin(Paint.Join.BEVEL);
canvas.drawPath(path, mPaint2);

到此這篇關(guān)于Androi原生繪圖工具Paint的文章就介紹到這了,更多相關(guān)Android原生繪圖Paint內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android智能指針輕量級Light Pointer初識

    Android智能指針輕量級Light Pointer初識

    這篇文章主要為大家介紹了Android智能指針輕量級Light Pointer初識詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Android 7.0新特性詳解

    Android 7.0新特性詳解

    本篇文章主要介紹了Android 7.0(牛軋?zhí)?新特性的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • Android利用Hero實現(xiàn)列表與詳情頁無縫切換動畫

    Android利用Hero實現(xiàn)列表與詳情頁無縫切換動畫

    本文我們將利用Hero動畫實現(xiàn)一個簡單案例:實現(xiàn)列表與詳情頁無縫切換動畫,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手嘗試一下
    2022-06-06
  • android中實現(xiàn)OkHttp下載文件并帶進度條

    android中實現(xiàn)OkHttp下載文件并帶進度條

    本篇文章主要介紹了android中實現(xiàn)OkHttp下載文件并帶進度條,OkHttp是比較火的網(wǎng)絡(luò)框架,它支持同步與異步請求,支持緩存,可以攔截,更方便下載大文件與上傳文件的操作,有興趣的可以了解一下
    2017-07-07
  • 詳解BadTokenException報錯解決方法

    詳解BadTokenException報錯解決方法

    這篇文章主要介紹了BadTokenException報錯的解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Android ScrollView取消慣性滾動的方法

    Android ScrollView取消慣性滾動的方法

    下面小編就為大家?guī)硪黄狝ndroid ScrollView取消慣性滾動的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Android獲取監(jiān)聽SD卡狀態(tài)

    Android獲取監(jiān)聽SD卡狀態(tài)

    本篇文章主要介紹了Android獲取監(jiān)聽SD卡狀態(tài),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Android自定義View原理(實戰(zhàn))

    Android自定義View原理(實戰(zhàn))

    這篇文章主要介紹了Android自定義View原理,由于Android系統(tǒng)內(nèi)置的View不滿足我們的業(yè)務(wù)需求,變產(chǎn)生了需要自定義View的原因,關(guān)于自定義詳情,需要的小伙伴可以參考下面文章具體詳情
    2022-05-05
  • Android自定義ActionProvider ToolBar實現(xiàn)Menu小紅點

    Android自定義ActionProvider ToolBar實現(xiàn)Menu小紅點

    這篇文章主要介紹了Android自定義ActionProvider ToolBar實現(xiàn)Menu小紅點,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android提高之XML解析與生成實例詳解

    Android提高之XML解析與生成實例詳解

    這篇文章主要介紹了Android的XML解析與生成方法,相信對大家的Android項目開發(fā)有一定的借鑒參考作用,需要的朋友可以參考下
    2014-08-08

最新評論

赤水市| 盖州市| 丰城市| 镇赉县| 蓬溪县| 和龙市| 遂平县| 马鞍山市| 香港 | 彩票| 会昌县| 全南县| 本溪市| 上犹县| 宣武区| 柏乡县| 张北县| 射洪县| 阿巴嘎旗| 文山县| 太仓市| 阿尔山市| 水城县| 平定县| 高密市| 子洲县| 博白县| 白城市| 界首市| 宁德市| 南乐县| 柞水县| 巴塘县| 开封市| 海淀区| 伊宁市| 太湖县| 图片| 深圳市| 济阳县| 临汾市|