国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android 之自定義繪制一

這篇具有很好參考價(jià)值的文章主要介紹了Android 之自定義繪制一。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

繪制的基本要素

onDraw(Canvas)?繪制方法

Canvas?繪制工具

Paint?調(diào)整風(fēng)格?粗細(xì)等

坐標(biāo)系: x y ,3D?會(huì)有z軸,x? 左到右,y?上至下,與數(shù)學(xué)中y顛倒

尺寸單位:?布局中 dp ,sp ,代碼中 px;dp?為了適配不同的尺寸

繪制的關(guān)鍵:

draw(Canvas )......(關(guān)鍵類:Paint)

Paint.ANTI_ALIAS_FLAG?抗鋸齒 paint.setFlag

像素值和DP轉(zhuǎn)化?TypedValue.applyDimension(TypeValue.COMPLEX_UNIT_DIP,value,rousources.displayMetrics)?

rousources.displayMetrics =?Resource.getSystem().getDisplayMetric

??

//dp 2 px

val Float.px
    get() = TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP,
        this,
        Resources.getSystem().displayMetrics
    )

抗鋸齒原理:修改圖形,變得和原始不一樣,邊緣模糊化,半透明化,看起來視覺上平滑?

繪制需要有起點(diǎn)和終點(diǎn),兩點(diǎn)組合

繪制線 : canvas.drawLine?坐標(biāo)參數(shù) (start x, start y , end x ,end y,paint)

繪制圓: canvas.drawCircle?坐標(biāo)(cx , cy ,radius,paint)也就是?center x ,?center y ,?半徑

draw Path(path,point)

drawArc(left,top,right,bottom,startAngle?起始角度,sweepAngle?劃過角度,usecenter?是否連接中心,)

onSizeChange?尺寸改變時(shí)調(diào)用

path.reset()?重置

path.addCircle(centerx , center y, radius,orition?方向?順時(shí)針Path.Direction.CW和逆時(shí)針Path.Direction.CW );?添加圓----> CW = clockwise ,CCW =?counter-clockwise

CW,CCW作用:?配合填充方式判斷多個(gè)圖形方向相交部分填充還是其他

path.addRect?添加矩形()

填充方法:path.setfillType? = EVEN_ODD,INVERSE_EVEN_ODD,INVERSE_WINDING,WINDING

INVERSE_EVEN_ODD?是 EVEN_ODD的反規(guī)則

INVERSE_WINDING? ? ?是? ??WINDING的反規(guī)則

左右 +1 , -1

默認(rèn)是WINDING填充規(guī)則?如果朝一個(gè)方向繪制,那么相交的就都屬于內(nèi)部

EVEN_ODD?不管方向如何,每遇到相交點(diǎn)就+1,偶數(shù)是外部,基數(shù)是內(nèi)部

ext?貝塞爾曲線

PathMeasure : path準(zhǔn)備好之后

PathMeasure(path,forceCloseed 是否自動(dòng)閉合)  
pathMeasure.length 獲取長(zhǎng)度
pathMeasure.getPosTan() 路徑的長(zhǎng)度的切腳

輔助類方法:范圍裁剪(clip......())和幾何變換(Matrix)? View的left / top /right /bottom 的任意一個(gè)點(diǎn)或者四個(gè)點(diǎn)的變換

還可以重寫其他的繪制方法控制覆蓋關(guān)系

paint:

strokeWidth 外線寬度

style?樣式?例如?Paint.Style.STROKE

setPathEffect(path,advance 提前量 前置量,phase 階段 空值 )設(shè)置pain效果 //  PathDashPathEffect虛線
pathEffect會(huì)覆蓋原先值 用特效畫

canvas.translat(dx,dy)?偏移?橫向 ,?縱向

canvas.restore() 恢復(fù)

canvas.save()? 保存屬性

kotlin?for?遍歷 for((index,value) in list.withIndex)?去角標(biāo)索引

?Kotlin?const?常量文章來源地址http://www.zghlxwxcb.cn/news/detail-674055.html

到了這里,關(guān)于Android 之自定義繪制一的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Android:繪制自定義View人臉識(shí)別框

    Android:繪制自定義View人臉識(shí)別框

    項(xiàng)目開發(fā)需要自定義View實(shí)現(xiàn)一個(gè)人臉框,代碼實(shí)現(xiàn)很平常,一些細(xì)節(jié)記錄一下,方便以后查閱。 代碼實(shí)現(xiàn): FaceView.java 注意: 這里我把FaceView的layout_width、layout_height都設(shè)置成了\\\"match_parent\\\" 這里面有個(gè) 坑 容易踩到 本次開發(fā)時(shí),xml中FaceView控件往上一直到第一層父布局寬、高

    2024年02月09日
    瀏覽(21)
  • 【HTML5】svg 繪制圖形

    【HTML5】svg 繪制圖形

    什么是 SVG? SVG 的優(yōu)勢(shì),與其他圖像格式相比(比如 JPEG 和 GIF),使用 SVG 的優(yōu)勢(shì)在于: 基本用法: 屬性 描述 xmlns 定義 SVG 命名空間 version 定義所使用的 SVG 版本 width 設(shè)置此 SVG 文檔的寬度 height 設(shè)置此 SVG 文檔的高度 圖形的 style 屬性 屬性 描述 fill 定義圖形的填充顏色 s

    2024年02月12日
    瀏覽(42)
  • 【HTML5】 canvas 繪制圖形

    【HTML5】 canvas 繪制圖形

    canvas 標(biāo)簽:可用于在網(wǎng)頁上繪制圖形(使用 JavaScript 在網(wǎng)頁上繪制圖像) 畫布是一個(gè)矩形區(qū)域,通過控制其每一像素繪制路徑、矩形、圓形、字符以及添加圖像。 創(chuàng)建一個(gè) canvas :width 和 height 是必備屬性,id 是為了在 js 中獲取改元素。 在 js 中繪制 canvas 2.0、方法屬性 co

    2024年01月18日
    瀏覽(27)
  • 【Android Framework系列】第13章 SVG矢量圖形自定義組件(繪制中國(guó)地圖)

    【Android Framework系列】第13章 SVG矢量圖形自定義組件(繪制中國(guó)地圖)

    本章節(jié)我們來了解下什么是 SVG 矢量圖形,怎么通過 SVG 實(shí)現(xiàn)圖形的繪制,通過 SVG 實(shí)現(xiàn)不規(guī)則的自定義控件,項(xiàng)目實(shí)現(xiàn)一個(gè)中國(guó)地圖,實(shí)現(xiàn)每個(gè)省都能夠點(diǎn)擊,項(xiàng)目地址在文末請(qǐng)自取。 SVG 指可伸縮矢量圖形 (Scalable Vector Graphics) SVG 用來定義用于網(wǎng)絡(luò)的基于矢量的圖形 SVG 使用

    2024年02月10日
    瀏覽(25)
  • HTML5 Canvas與JavaScript攜手繪制動(dòng)態(tài)星空背景

    HTML5 Canvas與JavaScript攜手繪制動(dòng)態(tài)星空背景

    目錄 一、程序代碼 二、代碼原理 三、運(yùn)行效果 這段代碼通過 HTML5 的 canvas 元素和 JavaScript 實(shí)現(xiàn)了一個(gè)星空背景效果。首先,它在頁面加載時(shí)創(chuàng)建了一個(gè)全屏大小的畫布,并使用 JavaScript 生成了多個(gè)具有不同運(yùn)動(dòng)軌道的星星對(duì)象。每顆星星都具有隨機(jī)的半徑、位置、運(yùn)動(dòng)速度

    2024年02月20日
    瀏覽(26)
  • Android Glide自定義AppCompatImageView切分成若干小格子,每個(gè)小格子onDraw繪制Bitmap,Kotlin(1)

    ? 垂直方向的RecyclerView,每行一個(gè)AppCompatImageView,每個(gè)AppCompatImageView被均勻切割成n個(gè)小格子, 每個(gè)小格子通過Glide加載出來Bitmap,然后onDraw繪制整行。 ? ? ? ? ? ? 上面每一行加載16個(gè)bitmap繪圖,速度很快,因?yàn)槭莄anvas直接繪圖。但是,如果使用下文的方式: Android LinearLa

    2024年02月04日
    瀏覽(26)
  • HTML5 自定義屬性

    HTML5 提供了自定義屬性(Custom Attributes)的功能,允許開發(fā)者在 HTML 元素上添加自定義的屬性,以便存儲(chǔ)額外的數(shù)據(jù)或提供特定的功能。 自定義屬性的命名應(yīng)以 \\\"data-\\\" 開頭,后面可以跟上任意的自定義名稱。這樣的命名約定有助于確保自定義屬性不與 HTML 或其他標(biāo)準(zhǔn)屬性沖突

    2024年02月12日
    瀏覽(20)
  • 如何使用TailwindCSS和JavaScript構(gòu)建自定義的HTML5視頻播放器

    HTML5自帶了一個(gè)原生視頻播放器。它在瀏覽器中配備了簡(jiǎn)單的用戶界面、功能和一些基本的控件。盡管通過瀏覽器的默認(rèn)視頻播放器的功能完美運(yùn)行,但用戶界面并不那么美觀和時(shí)尚,總體上并不令人滿意。 因此,大多數(shù)現(xiàn)代Web應(yīng)用程序和平臺(tái),如Udemy、Netflix、YouTube和Amazo

    2024年02月21日
    瀏覽(28)
  • [HTML]Web前端開發(fā)技術(shù)2(HTML5、CSS3、JavaScript )格式化文本標(biāo)記,定義列表,<blockquote>,definition description,ruby——喵喵畫網(wǎng)頁

    [HTML]Web前端開發(fā)技術(shù)2(HTML5、CSS3、JavaScript )格式化文本標(biāo)記,定義列表,<blockquote>,definition description,ruby——喵喵畫網(wǎng)頁

    希望你開心,希望你健康,希望你幸福,希望你點(diǎn)贊! 最后的最后,關(guān)注喵,關(guān)注喵,關(guān)注喵,大大會(huì)看到更多有趣的博客哦?。?! 喵喵喵,你對(duì)我真的很重要! 目錄 前言 格式化文字與段落 Web頁面設(shè)計(jì)原則 向Web頁面添加文字信息 格式化文本標(biāo)記 標(biāo)題字標(biāo)記 添加空格與特

    2024年02月05日
    瀏覽(97)
  • 靈魂畫師,Android繪制流程——Android高級(jí)UI(1)

    靈魂畫師,Android繪制流程——Android高級(jí)UI(1)

    繪制流程從何而起 Activity 的界面結(jié)構(gòu)在哪里開始形成 繪制流程如何運(yùn)轉(zhuǎn)起來 接下來我們就一個(gè)個(gè)目標(biāo)來 conquer。 我們一說到 繪制流程 ,就會(huì)想到或是聽過 onMeasure 、 onLayout 、 onDraw 這三個(gè)方法,但是有沒想過為什么我們開啟一個(gè)App或是點(diǎn)開一個(gè)Activity,就會(huì)觸發(fā)這一系列流

    2024年04月17日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包