原创 通過RenderScript 實現 NV21轉Bitmap、兩張Bitmap按照透明度混合的工具類

之前寫的一篇文章中我通過提取bitmap的數組,然後通過位移運算提取兩個數組的alpha值通過比例混合爲一張新的圖片,這樣對於大圖片來說會很卡。所以我在查閱資料後: 安卓開發手冊 ScriptIntrinsicBlend 通過Render

原创 一種通過多線程快速插入ARGB到YUV圖片的原創方法 C語言實現

利用之前寫的顏色混合原理,在實現了ARGB轉成YUV後,通過alpha值按比例混合原有的YUV值即可: 顏色混合 具體實現代碼: fastYuvInsertBmp.c 過程中我使用了一個循環做了個假的三色bmp,你可以用真的bmp代替進行

原创 一種基於自定義View的貼紙控件Demo

其實就是自定義一套觸摸事件規則,加上對Matrix的使用即可。 首先定義基類,首先不同類型的圖元,例如Bitmap或者文本,需要的縮放、移動、測量、繪製方式可能都不一致,所以做成抽象函數頂個接口規範,等待子類自己實現: package

原创 一種自己寫的多指觸摸白板控件Demo

多點觸摸方面的知識借鑑於Google的代碼: https://github.com/googlearchive/android-BasicMultitouch/blob/master/Application/src/main/java/c

原创 用2個字節或更少的字節表達RGB圖像的可能性探索

       昨晚睡之前想,如果總結一個Bitmap中含有的RGB值,然後如果最常用的顏色在3萬種左右,那麼可以統計爲一個表,名爲colorList,直接用把Bitmap中對應的像素替換爲最接近的顏色的索引指,假設顏色表限制容量爲最長出

原创 循環賦值更快還是memcpy更快?

最近在優化白板書寫提速的FrameBuffer庫,發現有一個循環: void drawPixelRect(int x, int y, int width, int height, int* pixels) { int loc = y

原创 自定義控件——使用FrameLayout和ImageView實現中間大、左右小的畫廊效果

同事想實現類似這個效果的UI:        上網下載了個ViewPager魔改出來的,結果拖動效果非常不連貫,要不左邊要麼右邊的UI突然異常縮進一下。所以希望我幫忙做一個更好看的,那我試試直接自己弄一個看看?         該控件規

原创 自定義控件——原創仿地圖瓦片動態加載_階段4_一種優化的可能Demo

由於用ImageView開銷太大了,所以我準備用單個View繼承出一個子類,直接重寫onDraw來顯示圖塊,這樣還可以共享同一塊位圖進行平鋪操作。打算未來用於白板上作爲移動縮放的輔助類,提高移動縮放的效率,或者直接就取代普通的位圖Canv

原创 一個可旋轉的OpenGL魔方實驗(27個立方體作爲一個大立方體)

公司的APP想搞個很鬼畜的3D魔方菜單: 不用像真的模仿那樣可以扭動,而是27個立方體構成一個大立方體,作爲一個整體,可以左右上下翻轉就行。  然後我參考吳亞峯編寫的《OpenGL ES 3.x遊戲開發 上卷》的P132頁開始的透視投影

原创 自定義控件——原創仿地圖瓦片動態加載_階段5_一種Excel類App的可能Demo

使用這種本控件,控件內部可以根據你的需要生成不同大小的Unit矩陣,並賦予每個矩陣單元一個tag,在移動到邊界時將會回收再利用,tag也會根據移動時的情況更改值,你可以在tag被更新時加載內存或者外存的數據,刷新到Unit中,形成地圖加載

原创 一種利用ImageView做輪播的嘗試Demo

輪播插件GitHub什麼的很多,很多都是用ViewPager來做的。但是我想試試ImageView或者OpenGL來做試試,今天想使用ImageView加X軸的移動來做了一個試試水,下次再用OpenGL做個高性能的的:   首先是View

原创 一種用於顯示放大倍數的自定義動畫控件

可以顯示1x~8x 範圍的放大縮小動畫,移動單位爲每縮放0.1x的時候移動一格,所以共有80格,這個例子是使用觸摸位置的x軸佔整個x軸多少來控制倍數控件的展示。具體運算主要看initView方法即可。實際效果會比圖片好,圖片跳幀很嚴重,實

原创 NV21數據任意角度翻轉並輸出成ARGB位圖

因爲發現APP在掃碼時,對傾斜30°、45°等的傾斜條形碼識別能力比正向和豎向的差很多,於是打算把傳入的NV21預覽數據通過一個輔助線程,不斷加30°,得出各個翻轉角度後的圖像再識別,使得ZXing和ZBar更有可能得到正向或者豎向的條形

原创 一個Linux AF_UNIX socket通信的簡單例子

服務端(接受內容): #include "stdio.h" #include "stdlib.h" #include "drawFbStruct.h" #include <sys/socket.h> #include <sys/type

原创 Java層序遍歷(非遞歸)遍歷一個目錄下的所有文件的辦法

最近研發的功能需要遍歷所有文件,覺得網上很多遞歸的代碼都很辣雞,如果深度太大很容易棧溢出,我自己用隊列層序遍歷多叉樹的辦法實現了,不怕深度非常深的文件,而且代碼特別簡短,經驗思想來源於我自己以前的練習文章: https://blog.cs