Android Gallery實現3D相簿(附效果圖+Demo原始碼)
public boolean createReflectedForAdapter() { final int reflectionGap = 4; final int Height = 200; int index = 0; for (Map<String, Object> map : list) { Integer id = (Integer) map.get("image"); // 獲取原始圖片 Bitmap originalImage = BitmapFactory.decodeResource(mContext.getResources(), id);int width = originalImage.getWidth(); int height = originalImage.getHeight(); float scale = Height / (float)height; Matrix sMatrix = new Matrix(); sMatrix.postScale(scale, scale); Bitmap miniBitmap = Bitmap.createBitmap(originalImage, 0, 0, originalImage.getWidth(), originalImage.getHeight(), sMatrix, true); //是否原圖片資料,節省記憶體 originalImage.recycle(); int mwidth = miniBitmap.getWidth(); int mheight = miniBitmap.getHeight(); Matrix matrix= new Matrix(); // 圖片矩陣變換(從低部向頂部的倒影) matrix.preScale(1, -1); // 擷取原圖下半部分 Bitmap reflectionImage = Bitmap.createBitmap(miniBitmap, 0, mheight/2, mwidth, mheight/2, matrix, false); // 建立倒影圖片(高度為原圖3/2) Bitmap bitmapWithReflection = Bitmap.createBitmap(mwidth, (mheight + mheight / 2), Config.ARGB_8888); // 繪製倒影圖(原圖 + 間距 + 倒影) Canvas canvas = new Canvas(bitmapWithReflection); // 繪製原圖 canvas.drawBitmap(miniBitmap, 0, 0, null); Paint paint = new Paint(); // 繪製原圖與倒影的間距 canvas.drawRect(0, mheight, mwidth, mheight + reflectionGap, paint); // 繪製倒影圖 canvas.drawBitmap(reflectionImage, 0, mheight + reflectionGap, null); paint = new Paint(); // 線性漸變效果 LinearGradient shader = new LinearGradient(0, miniBitmap.getHeight(), 0, bitmapWithReflection.getHeight() + reflectionGap, 0x70ffffff, 0x00ffffff, TileMode.CLAMP); paint.setShader(shader); // 倒影遮罩效果 paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); // 繪製倒影的陰影效果 canvas.drawRect(0, mheight, mwidth, bitmapWithReflection.getHeight() + reflectionGap, paint); ImageView imageView = new ImageView(mContext);
// 設定倒影圖片 imageView.setImageBitmap(bitmapWithReflection); imageView.setLayoutParams(new GalleryView.LayoutParams((int)(width * scale), (int)(mheight * 3 / 2.0 + reflectionGap))); imageView.setScaleType(ScaleType.MATRIX); mImages[index++] = imageView; } return true; }
相關推薦
Android Gallery實現3D相簿(附效果圖+Demo原始碼)
public boolean createReflectedForAdapter() { final int reflectionGap = 4; final int Height = 200; int index = 0;
Android中實現StickyNavLayout自己的小demo
借鑑洪洋大神StickyNavLayout的demo加入自己的註解,方便以後查閱。 一.思緒整理: 1.要實現控制元件經包含的可滑動的view向上滑去使得頭部隱藏,下面包含的view固定。拿到需求的第一想法是用scrollview去做,要這樣的話可能要解決滑動的衝突的問題。
Android探索之旅(第十四篇)Android中實現炫酷效果的Demo(持續收錄中......)
浪起來!使用 drawBitmapMesh 實現模擬水波紋效果 簡書傳送門 三十秒實現QQ首頁動畫特效 BMoveView為RadioGroup新增移動的特
android camera 實現3d效果
效果圖 其中 圖片使用ImageView來展示 50下邊其實是個文字框 變形:按鈕,點選後 將圖片沿著Y軸 旋轉文字框 指定的角度。 實現的程式碼很簡單: public class Base3dImp extends Acti
Gradle Android最新自動化編譯指令碼教程(提供demo原始碼)
一、前言Gradle 是以 Groovy 語言為基礎,面向Java應用為主。基於DSL(領域特定語言)語法的自動化構建工具。上面這句話我覺得寫得很官方,大家只需知道Gradle可以用來android開發中進行多個專案依賴的自動化編譯指令碼,知道這點也就知道我們使用它的目的;為
《物聯網框架ServerSuperIO教程》-21.終端控制感測器或裝置,形成迴路控制。附:demo原始碼
21.1 概述 ServerSuperIO以前所做的工作逐步為形成迴路控制或級聯控制打下基礎,例如:服務聯結器和裝置驅動聯結器的開發與應用。總之,是通過多種形式下發命令控制裝置(驅動)或感測器,雲端控制站點或監測點的感測器、App或者其他終端控制感測器、根據感測器的採集資料控制另一個感測器
JS日曆控制元件集合----附效果圖、原始碼
在進行開發的過程中,經常需要輸入時間,特別是在進行查詢、統計的時候,時間限定更為重要。 儘管ASP.NET也集成了日曆控制元件,但是其整合的程式碼量很大,你可以做一個測試,當你在頁面使用一個日曆控制元件時,在釋出之後檢視該頁面的原始碼,你會驚奇發現,日曆控制元件
實現語音視訊錄製(demo原始碼)
public class VideoFileMaker :IDisposable { /// <summary> /// 初始化視訊檔案。 /// </summary> /// <param nam
Android Studio使用Gradle實現自動打包,簽名,自定義apk檔名,多渠道打包,整合系統簽名證書【附效果圖附原始碼】
接觸Android Stuidio有一陣子了,之前用的時候有很多小問題,不過現在的版本感覺已經很好用了,所以準備徹底從Eclipse轉戰Android Stuidio,這段時間把以前經常使用的公用庫都從Eclipse移植過來了,今天研究了一下在Andro
android 融雲 + 科大訊飛 實現仿微信語音訊息轉換為文字(附DEMO原始碼)
融雲SDK 使用很方便,簡單配置就可以搭建即時通訊功能,配合科大訊飛的語音識別, 即可實現微信中語音訊息轉換為文字的功能 融雲sdk的基本使用就不細說了, 網上很多資料 使用融雲sdk自帶的聊天會話介面,想要在此會話介面上增加語音訊息長按時彈出 “轉換為文
React Native呼叫Android原生程式碼實現車牌識別功能【附效果圖附原始碼】
這段時間研究了下React Native,Facebook推出的,結合了Web應用和Native應用的優勢,可以使用JavaScript來開發iOS和Android原生應用,決定簡單研究下,於是開始搭建環境,編寫HelloWorld,完成後又覺得HelloWo
Android自定義錄影(一)之錄影功能實現(附demo原始碼)
引言 最近在做一個專案,是有關用手機攝像頭做影象實時識別的。所以裡面需要自定義一個錄影功能。該demo實現了錄影和錄影後文件的儲存檢視,錄影會實時自動對焦(AutoFocus)。根據功能分兩篇講述。這第一篇講述錄影基本實現思路和需要注意的點。後面附有githu
Android 3D畫廊採用Gallery實現無限迴圈、自動輪播
公司最近有一個需求,是打算做一個輪播圖的展示介面,不過和傳統意義上不同,並非是在手機app的頂部展示幾張定時切換的固定大小寬高的圖片,而是中間長方形,兩邊向裡傾斜,形成對稱感的特殊介面,如下圖: 需要實現功能:無限迴圈,自動跳轉,倒影效果。 (原本的企劃是動畫輪播的時候,
Android模糊演示樣例-RenderScript-附效果圖與代碼
tracking _id pro out 依據 tree 部分 observe scrip 本文鏈接 http://blog.csdn.net/xiaodongrush/article/details/31031411 參考鏈接 Android高級模糊
Android 音視頻深入 十六 FFmpeg 推流手機攝像頭,實現直播 (附源碼下載)
音視頻 FFmpeg RTMP 直播 Android 源碼地址https://github.com/979451341/RtmpCamera/tree/master 配置RMTP服務器,雖然之前說了,這裏就直接粘貼過來吧 1.配置RTMP服務器 這個我不多說貼兩個博客分別是在mac和win
微信小程序之輪播圖的實現(附效果圖和源碼)
class git 源代碼 nload car 源碼 github項目 小程序 swiper 不管是做APP開發還是小程序,移動端離不開輪播圖的功能,下面就寫一個小程序的輪播圖功能分享給大家 效果圖: step1:頁面index.wxml代碼 <!--index.w
Android 7.1.1 之實現 3D Touch
轉載請註明出處:http://blog.csdn.net/yyh352091626/article/details/68962736 Shortcut概念 具體實現 Build
Android ContentProvider實現兩個程式間資料共享demo
1、客戶端程式碼: 先實現服務端 SQL建立: public class DBHelper extends SQLiteOpenHelper { // 資料庫名 private static final String DATABASE_NAME = "finch.db"
Android 二維碼 生成和識別(附Demo原始碼)
今天講一下目前移動領域很常用的技術——二維碼。現在大街小巷、各大網站都有二維碼的蹤跡,不管是IOS、Android、WP都有相關支援的軟體。之前我就想了解二維碼是如何工作,最近因為工作需要使用相關技術,所以做了初步瞭解。今天主要是講解如何使用ZXing庫,生成和識別二維碼。這篇文章實用性為主,理
玩轉Android Camera開發 五 基於Google自帶演算法實時檢測人臉並繪製人臉框 網路首發 附完整demo
本文主要介紹使用Google自帶的FaceDetectionListener進行人臉檢測,並將檢測到的人臉用矩形框繪製出來。本文程式碼基於PlayCameraV1.0.0,在Camera的open和preview流程上進行了改動。原先是放在單獨執行緒裡,這次我又把它放到