真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

flutter矩陣,flutter flutter

c++很基礎(chǔ)的問題 自定義類的導(dǎo)入

有兩種方法: 1你先新建一個記事本,把頭文件的代碼復(fù)制進去,然后保存為

10年積累的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有濮陽免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

CCTerrain.h 然后復(fù)制到你的程序目錄下,或者VC的安裝目錄下就可以了。

2 把頭文件和工程放在同一個CPP文件里。

Flutter CustomPaint 使用介紹

CustomPaint class提供了讓用戶自定義widget的能力,它暴露了一個canvas,可以通過這個canvas來繪制widget,CustomPaint會先調(diào)用painter繪制背景,然后再繪制child,最后調(diào)用foregroundPainter來繪制前景,CustomPaint的定義如下

CustomPaint的繪制過程都將會交給CustomPainter來完成,CustomPainter是個抽象接口,在子類化CustomPainter的時候必須要重寫它的 paint 跟 shouldRepaint 接口,可以根據(jù)自己的場景來選擇性的重寫 hitTest 跟 shouldRebuildSemantics 方法。

canvas--畫布,真正的繪制是由canvas跟paint來完成的,畫布提供了各種繪制的接口來繪制圖形,除此以外畫布還提供了平移、縮放、旋轉(zhuǎn)等矩陣變換接口,畫布都有固定大小跟形狀,還可以使用畫布提供的裁剪接口來裁剪畫布的大小形狀等等。

常用的繪制接口有 更多請查看官方文檔

Paint---筆畫,是用來設(shè)置在畫布上面繪制圖形時的一些筆畫屬性,如:顏色、線寬、繪制模式、抗鋸齒等等。常用屬性有 更多請查看官方文檔

color : 設(shè)置畫筆顏色

isAntiAlias : 設(shè)置畫筆是否扛鋸齒

shader : 著色器,填充形狀或者畫線時用到,如果沒設(shè)置將會使用color

strokeWidth : 設(shè)置畫筆畫線寬度

style :繪制模式,畫線或充滿

下面這個例子來自于官方,通過 CustomPaint 畫出了一個藍天跟太陽出來

效果如下:

Flutter基礎(chǔ)篇——常用Widget

對于初學(xué)flutter的朋友來說,要知道,flutter的UI萬物皆Widget。

flutter所寫的頁面的結(jié)構(gòu)可以被看成套娃,一層套一層,一層套一層,一層套一層。。。。。。

Flutter Widget采用現(xiàn)代響應(yīng)式框架構(gòu)建,這是從 React 中獲得的靈感,中心思想是用widget構(gòu)建你的UI。 Widget描述了他們的視圖在給定其當(dāng)前配置和狀態(tài)時應(yīng)該看起來像什么。當(dāng)widget的狀態(tài)發(fā)生變化時,widget會重新構(gòu)建UI,F(xiàn)lutter會對比前后變化的不同, 以確定底層渲染樹從一個狀態(tài)轉(zhuǎn)換到下一個狀態(tài)所需的最小更改。

Text : 該 widget 可讓創(chuàng)建一個帶格式的文本。

Row 、 Column : 這些具有彈性空間的布局類Widget可讓您在水平( Row )和垂直( Column )方向上創(chuàng)建靈活的布局。

Stack :取代線性布局 (和Android中的LinearLayout相似),Stack允許子 widget 堆疊, 你可以使用 Positioned 來定位他們相對于 Stack 的上下左右四條邊的位置。

Container : Container 可讓您創(chuàng)建矩形視覺元素。 您可以為 Container 裝飾一個 BoxDecoration , 如 background、一個邊框、或者一個陰影。 Container 也可以具有邊距(margins)、填充(padding)和應(yīng)用于其大小的約束(constraints)。另外, Container 可以使用矩陣在三維空間中對其進行變換。

具體的演示見我另外的博客

有一部分Widget都有一個 child 屬性,用于容納唯一的子Widget。

例如:Container、Center、Padding、Align等Widget。

還有一部分Widget允許存在多個子Widget,用 children 作為屬性。

例如:Row、Column、Stack等Widget。

在StatefulWidget調(diào)用createState之后,框架將新的狀態(tài)插入樹種,然后調(diào)用狀態(tài)對象的initState。子類化State可以重寫initState,以完成僅需要一次執(zhí)行的工作。當(dāng)然在initState的實現(xiàn)中需要調(diào)用super.initState

當(dāng)一個狀態(tài)對象不再需要時,框架調(diào)用狀態(tài)對象的dispose。也可以通過覆蓋dispose方法來執(zhí)行清理工作。

OVER~

Flutter Transform使用介紹

窗口小部件(Widget)可以在Paint之前應(yīng)用Transform進行轉(zhuǎn)換,通過Transform可以對widget進行平移、旋轉(zhuǎn)、縮放等矩陣變換。不像RotatedBox在layout前就對Widget進行旋轉(zhuǎn)操作,Transform是在Widget繪制前進行轉(zhuǎn)換,這意味著在計算Widget的顯示需要占用多少空間時,不會去考慮Transform變換。

例子

在垂直方向移動15個單位距離

例子

順時針旋轉(zhuǎn)45°

例子

放大1.5倍

SurfaceTexture詳解

之前講到了 flutter的Texture

SurfaceTexture 是 Surface 和 OpenGL ES (GLES) 紋理的組合。SurfaceTexture 用于提供輸出到 GLES 紋理的 Surface

SurfaceTexture 包含一個 BufferQueue。當(dāng)生產(chǎn)方將新的緩沖區(qū)排入隊列時,onFrameAvailable() 回調(diào)會通知應(yīng)用。然后,應(yīng)用調(diào)用 updateTexImage(),這會釋放先前占有的緩沖區(qū),從隊列中獲取新緩沖區(qū)并執(zhí)行 EGL 調(diào)用,從而使 GLES 可將此緩沖區(qū)作為外部紋理使用。

關(guān)鍵方法:

SurfaceTexture(int texName, boolean singleBufferMode)構(gòu)造方法

setOnFrameAvailableListener 設(shè)置回調(diào),當(dāng)生產(chǎn)者準(zhǔn)備好新的幀后會調(diào)用Listener

updateTexImage 更新texture到指定的GLESContext

detachFromGLContext

attachToGLContext

解綁/綁定 當(dāng)前GLContext

getTransformMatrix 設(shè)置重采樣紋理矩陣,當(dāng)渲染的時候會用到這個數(shù)據(jù)

release() 完全釋放 SufaceTexture的 buffers并且吧Surface狀態(tài)置為abandoned

android-8.0.0_r1 源碼解析:

GLConsumer參數(shù)解釋:

bq是BufferQueue創(chuàng)建BufferConsumer

tex 表示要將圖像流傳輸?shù)降腛penGL ES紋理名稱。

texTarget指定了哪個紋理將被綁定

useFenceSync表示是否需要同步訪問緩沖區(qū)

可以從一個OpenGL ES上下文中分離GLConsumer,然后分別使用detachFromContext和attachToContext方法將GLConsumer附加到另一個上下文。

如果設(shè)置tex參數(shù)則會通過attachToContext將GLConsumer附加到OpenGL ES context中。

第一次調(diào)用updateTexImage才會綁定,之后所有對updateTexImage的調(diào)用必須使用相同的當(dāng)前OpenGL ES context進行

acquireBufferLocked創(chuàng)建EglImage并設(shè)置到EglSlots中

updateAndReleaseLocked 更新 EglImage

createIfNeeded 如果EGLDisplay改變或者crop改變則會創(chuàng)建EglImage

bindToTextureTarget 將調(diào)用glEGLImageTargetTexture2DOES去綁定image到指定的目標(biāo)紋理

這里創(chuàng)建EGLImageKHR,EGLImageKHR用于共享EGL資源

EGL的ShareContext是常見的共享上下文的方式(iOS平臺的EAGL叫ShareGroup)。

當(dāng)share_context參數(shù)傳入另一個EGL的context時,這兩個EGLContext就可以共享紋理以及VBO等。

需要注意的是container objects不能被共享,比如:

Framebuffer objects

Vertex array objects

Transform feedback objects

Program pipeline objects

參考:

EGLImageKHR:

fluttercharts設(shè)置y軸最大值

設(shè)置如下:

輸入OD成本矩陣所需要的輸入元素是至少1個起始點與至少1個目的點。

當(dāng)起始點和目的點都是1個時,就成了最短路徑分析了,只不過看不到代表最短路徑的那條折線了。

通常,我們可以通過批量導(dǎo)入起始點和目的地點,而不用手工去打。

分析設(shè)置

和最短路徑分析類似,在輸出Shape中只有“無”、“直線”兩個選項。

多了兩個新的設(shè)置參數(shù):中斷值和要查找的目的地。

中斷值:當(dāng)超過給定的中斷值(搜索半徑),就認(rèn)為目的點不能到達,就不作為結(jié)果。例如,超過1000km的距離的城市,就不算了,比如北京和廣州。

要查找的目的地:這個數(shù)值要小于等于目的點的個數(shù),默認(rèn)和目的點個數(shù)相等。如果給了一個值n,那么就會取該起始點的前n個最近目的點。


文章標(biāo)題:flutter矩陣,flutter flutter
文章鏈接:http://weahome.cn/article/dsdojhc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部