原创 android glide4.+ 線程內同步下載圖片

今天碰到一個功能需要用glide在線程內進行同步下載圖片再進行操作,記錄一下 Thread thread = new Thread(){ @Override public void run

原创 android TabLayout 的item設置間隔,設置下標線的圓角和長度

最近把appcompat-v7升級到28.0.0,發現TabLayout多了幾個屬性,就試了試,隨便做下記錄 TabLayout的item都是有默認間隔的就算修改tabPaddingStart和tabPaddingEnd也沒有效果,要先設

原创 圖片轉svg

一個工具網站都屏蔽,啥毛病? 最近試了挺多工具和網站把圖片轉svg,有些android studio用不了,有些太麻煩了,還是www.vectorizer.io好用,方便簡單,轉換的效果也好,簡單記錄一些

原创 Android使用MediaCodec和OpenGL對視頻畫面進行裁剪和拼接

太久沒寫博客了,由於工作,過年還有孩子出生搞得自己焦頭爛額,現在有些時間了就搞點東西。發現瀏覽量突破10萬了,也是挺高興的,雖然很多東西寫的不好,可也看到了自己的進步,也是前年到現在的累積。剛開始我只是學習視頻解碼,渲染和視頻編碼,慢慢的

原创 android 通過egl實現Service運行Camera

所謂的後臺可以是在Activity裏打開Camera而不顯示畫面,也可以在Service內開啓Camera,我主要寫後者 Camera的開啓必須要調用setPreviewTexture或setPreviewDisplay,二選一,所以想要

原创 android opengl es 實現色調H,飽和度S,亮度L濾鏡

在opengl es的glsl中把rgb轉hsl或轉hsv方法在網上很多,一搜一大把,找過來試了試,剛開始很頭疼,色調H,飽和度S,亮度L最大值多少?疊加方法是加減還是乘除一頭霧水。 通過這篇文章RGB顏色空間、色調、飽和度、亮度、HSV

原创 android 使用ImageReader+共享EGLContext把opengles渲染的圖像轉bitmap

使用ImageReader把opengles渲染的圖像轉bitmap以前也實現了,最近學了glRenderbufferStorageMultisample抗鋸齒,就想結合起來看看,這是效果 感覺glRenderbufferStorage

原创 android opengles 抗鋸齒

抗鋸齒,對opengles來說很簡單,只要在配置egl環境的時候添加兩行代碼就搞定了 int confAttr[] = { EGL14.EGL_RED_SIZE, 8, EGL14.EGL_GREEN_S

原创 android opengles2.0 硬解碼時出現bindTextureImage: clearing GL error: 0x502

做硬解碼用opengles2.0顯示的時候總是出現這個提示,爲什麼出現完全沒有頭緒,直到我寫新項目發現沒有這個提示,然後對比代碼發現錯誤原因 硬解碼要先生成一個GLES11Ext.GL_TEXTURE_EXTERNAL_OES的紋理,再由

原创 android 硬解碼用opengles3.0渲染視頻

想着以後可能會遇到用opengles3.0來處理視頻就想了解一下,結果發現網上沒有多少這方面的東西,然後就自己摸索了 先來說說java端的寫法,我這篇就是用java端opengles2.0寫的android 簡單的exoplayer全景播

原创 android 使用selector+自定義view實現圖片按鈕點擊放大縮小功能

先看效果,點擊放大的 點擊縮小 我看了下網上都是用onTouchEvent來實現的,我儘量不想寫onTouchEvent內的代碼,因爲如果遇到手勢衝突很折磨人,所以我就用selector裏的state_pressed配合view的on

原创 android 簡單的exoplayer全景播放器

全景播放器網上一搜也是一堆一堆的,還有google推出的vrsdk,所以也沒啥好說的,就簡單記錄一下 實現全景主要用到的還是opengles,只要用的開源播放器有setSurface(Surface surface)這個函數,就可以不改播

原创 android opengles 實現翻牌效果

前一陣子通過android.graphics.Camera實現翻牌效果,看源碼知道是3x3的矩陣,我就想opengles也可以實現,然後就開始動手了 首先設置初始矩陣 Matrix.perspectiveM(projectionMatr

原创 android 將opengles渲染線程嵌入到exoplayer解碼線程內

根據項目需要實現這個功能,所以又開始改exoplayer源碼了。我以前也改過修改ExoPlayer源碼,獲取幀時間,現在我要在這個的基礎上進行修改 修改VideoTimeListener.java,添加新的回調函數 public int

原创 android 翻牌效果

翻牌效果網上很多,一搜一大把,有各種實現方法,我就記錄下我覺得簡單效果好的方法,一個是屬性動畫ObjectAnimator實現,還有一個是android.graphics.Camera(不是拍照錄像的Camera),我比較在意的是用Cam