原创 flutter【12】開發環境配置+初始工程講解

之前寫過幾篇dart語言特性的文章,算是英文官方文檔的一個簡單翻譯,最近用 flutter 寫了一個領電商平臺優惠券的 app(還有微信小程序,之前的文章有),沒有上線,有興趣的可以點擊鏈接 鯨魚精選 下載看看。 最近幾個月網上的flu

原创 flutter【13】從框架層面看看flutter的widget

經過前面的一篇文章,flutter 工程創建和組織方面的工作就基本結束了,下一步就可以進行具體的開發。 flutter 作爲一個跨平臺的 ui 工具包,核心理念就是 widget,所以網上的文章也大多是從 widget 入手進行 flutt

原创 android-camera2相機開發【10】-opengl離屏渲染、拍照、前後相機切換

先說下題外話哈,最近做了個領取電商平臺優惠券的小程序,掃碼支持下哈~ 離屏渲染 之前已經將相機的預覽數據已經輸出到opengl的紋理上,渲染的時候,opengl直接將紋理渲染到了屏幕。 但是,如果想要對該紋理進一步處理,就不能直接渲

原创 android-camera2相機開發【9】-使用opengl實現LUT濾鏡

上一篇文章簡單的實現了幾個常見的濾鏡效果,針對每一種濾鏡,在片段着色器中編寫響應的計算邏輯。 但是,隨便一個美顏app、短視頻app的濾鏡都太多了,總不能一個一個寫代碼去吧,況且好些濾鏡特別接近,就讓程序員看一眼,怎麼寫計算邏輯。。 其實,

原创 android-camera2相機開發【8】-使用opengl實現濾鏡效果(1)

前一篇文章中,實現了 opengles 進行相機預覽的功能,基本的流程如下: 把相機的預覽數據做成紋理,綁定到opengles對應的紋理單元上 然後通過opengles 的內置函數 texture(),在片段着色器中根據紋理和紋理座標進行

原创 android-camera2相機開發【7】-使用opengles進行相機預覽

前面幾篇文章梳理了 android 相機的基本使用流程及相關的 api,完成了預覽拍照等功能。 就預覽而言,後續想做實時濾鏡等功能的話,如果按照之前的方法用 ImageReader 拿到數據之後做處理再顯示,一是繁瑣,而是效率太低,卡頓嚴重

原创 android-opengles3.0開發【6】使用正交投影解決圖形變形

簡介 在之前的文章中,繪製了一些圖形,但是有個問題, 以三角形爲例,根據設置的座標,應該顯示正三角形,而手機上運行卻被拉長爲等邊三角形(底邊比左右兩邊短)。 如果手機橫向防止,三角形就被壓扁了。 瞭解兩個座標系之後,這個問題的原因就清楚了。

原创 android-opengles3.0開發【5】繪製紋理

簡介 本文在上一篇文章的基礎上完成紋理的繪製。 繪製紋理流程也不復雜: 一張作爲紋理的圖片 編寫相應的着色器 準備圖形和紋理的座標 將圖片轉換成紋理 將紋理綁定到着色器指定屬性的位置 繪製圖形和紋理 編寫着色器 頂點着色器 a_Pos

原创 android-opengles3.0開發【4】使用EGL繪製圖形

簡介 前面幾篇文章通過 GLSurfaceView 進行 opengles 的渲染,使用簡單。但是不夠靈活,一個 opengl 只能渲染一個 GLSurfaceView,一旦 GLSurfaceView 銷燬,對應的 opengl 也會銷燬

原创 android-opengles3.0開發【2】繪製圖形

簡介 android 下 opengles 的繪製圖形簡單來說步驟如下: 定義圖形頂點數據 編寫/編譯 頂點着色器 和 片段着色器。 創建程序,將着色器綁定到程序上,然後連接程序。如果着色器中沒有定義屬性的位置,則在綁定着色器之後、連接程

原创 android-opengles3.0開發【1】基本使用

簡介 android 中使用 opengles 基本思路: 使用 GLSurfaceView 作爲顯示渲染的視圖; 實現 GLSurfaceView.Renderer 接口,創建自定義的渲染器,然後設置到 GLSurfaceView。

原创 android-camera2相機開發【6】-拍照&屏幕旋轉適配

前面幾篇文章實現了相機的預覽,對預覽中出現的問題及需要注意的事項進行了梳理。 本篇文章對相機的拍照流程、拍照方向及屏幕旋轉時的適配問題進行梳理。 初始化相機和view 這裏選擇最大的相機輸出尺寸作爲拍照尺寸和預覽尺寸。 @Overr

原创 android-camera2相機開發【5】-獲取、處理預覽幀數據

camera2 api 中使用 ImageReader 類間接獲取預覽幀數據。 ImageReader 使用之前,需要設置一個監聽 OnImageAvailableListener,在預覽幀可用時會被回調,在回調方法中可以接收到預覽幀,並實

原创 android-camera2相機開發【2】-動態切換相機預覽尺寸

上一篇文章中介紹了相機預覽的基本實現,只固定的顯示了一個輸出尺寸, android 設備相機實際可以支持輸出很多尺寸的圖像,不同的設備具體尺寸數值不同,通過系統提供的方法可以獲取設備支持的輸出尺寸,具體的操作可以參考上一篇文章中的相關內容。

原创 android-camera2相機開發【3】-解決相機預覽圖像拉伸問題

簡單來說,預覽圖像拉伸問題是相機的輸出尺寸和屏幕上預覽窗口的寬高比不同引起的。所以可以根據選擇的相機輸出尺寸的寬高比調整預覽窗口的寬高比,使兩者一致,從而消除圖像拉伸問題。 本篇文章在上篇文章的基礎上,自定義可以設置寬高比的預覽控件 Aut