最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android 放大鏡ShapeDrawable妙用分享

 更新時間:2013年06月04日 10:33:47   作者:  
android上想實現(xiàn)局部放大的效果,比如畫面中加個放大鏡的效果,發(fā)現(xiàn)ShapeDrawable是一個最好的選擇。

首先,ShapeDrawable構造的時候可以指定描畫的形狀,

其次,可以通過shape.getPaint().setShader();指定Shader,shader可以接受一個圖片和matrix

所以問題就順利的解決了:)

具體實現(xiàn)如下:
[java]

復制代碼 代碼如下:

float scale = 1.2f;

int cx = 224;
int cy = 357;
int r = 200;

// 指定形狀創(chuàng)建一個ShapeDrawable 
ShapeDrawable shape=new ShapeDrawable(new OvalShape());
Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.bg1);
BitmapShader bs = new BitmapShader(bm, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);

Matrix m = new Matrix();
m.setTranslate(r-cx, r-cy);
m.postScale(scale, scale);
bs.setLocalMatrix(m);   // 圖形變換可以在這里實現(xiàn),包括區(qū)域指定 

// 為ShapeDrawable設置Shader 
shape.getPaint().setShader(bs);

// 指定描畫目標位置 
shape.setBounds((int)(cx-r*scale),(int)(cy-r*scale),(int)(cx+r*scale),(int)(cy+r*scale));
canvas.drawBitmap(bm, 0, 0, null);
shape.draw(canvas);

float scale = 1.2f;

int cx = 224;
int cy = 357;
int r = 200;


// 指定形狀創(chuàng)建一個ShapeDrawable
ShapeDrawable shape=new ShapeDrawable(new OvalShape());
Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.bg1);
BitmapShader bs = new BitmapShader(bm, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);

Matrix m = new Matrix();
m.setTranslate(r-cx, r-cy);
m.postScale(scale, scale);
bs.setLocalMatrix(m); // 圖形變換可以在這里實現(xiàn),包括區(qū)域指定

// 為ShapeDrawable設置Shader
shape.getPaint().setShader(bs);

// 指定描畫目標位置
shape.setBounds((int)(cx-r*scale),(int)(cy-r*scale),(int)(cx+r*scale),(int)(cy+r*scale));
canvas.drawBitmap(bm, 0, 0, null);
shape.draw(canvas);

相關文章

  • Android實現(xiàn)EditText換行自動縮進功能

    Android實現(xiàn)EditText換行自動縮進功能

    在很多需要輸入多行文本的應用(如記事本、編程代碼編輯器、博客編輯器等)中,自動縮進功能能大大提升用戶的編輯效率與體驗,本文給大家介紹了Android實現(xiàn)EditText換行自動縮進功能,下面提供整合后的完整代碼示例,需要的朋友可以參考下
    2025-04-04
  • Android EditText實現(xiàn)輸入金額類型詳解

    Android EditText實現(xiàn)輸入金額類型詳解

    EditText是Android中一個非常實用的控件,有很多InputType,可以來達到不同的輸入效果,下面這篇文章主要給大家介紹了關于Android EditText實現(xiàn)輸入金額類型的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • Android webview使用方法總結

    Android webview使用方法總結

    這篇文章主要介紹了Android webview使用方法總結的相關資料,需要的朋友可以參考下
    2017-07-07
  • android studio 3.4配置Android -jni 開發(fā)基礎的教程詳解

    android studio 3.4配置Android -jni 開發(fā)基礎的教程詳解

    這篇文章主要介紹了android studio 3.4配置Android -jni 開發(fā)基礎,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Android中ListView綁定CheckBox實現(xiàn)全選增加和刪除功能(DEMO)

    Android中ListView綁定CheckBox實現(xiàn)全選增加和刪除功能(DEMO)

    本文通過實例給大家講解了Android中ListView綁定CheckBox實現(xiàn)全選增加和刪除功能(DEMO)的代碼,對android checkbox全選相關知識感興趣的朋友一起學習吧
    2016-08-08
  • Android Kotlin Flow 冷熱流詳解

    Android Kotlin Flow 冷熱流詳解

    在Android開發(fā)中,Flow是Kotlin協(xié)程庫的重要組成部分,用于處理異步數(shù)據(jù)流,它能夠異步生產多個值,類似于RxJava中的Observable,本文介紹Android Kotlin Flow 冷熱流,感興趣的朋友一起看看吧
    2024-11-11
  • Android控件之ScrollView用法實例分析

    Android控件之ScrollView用法實例分析

    這篇文章主要介紹了Android控件之ScrollView用法,以完整實例形式較為詳細的分析了ScrollView控件滾動顯示的實現(xiàn)技巧,需要的朋友可以參考下
    2015-09-09
  • android模擬實現(xiàn)航拍遙控

    android模擬實現(xiàn)航拍遙控

    這篇文章主要為大家詳細介紹了android模擬實現(xiàn)航拍遙控,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android如何快速適配暗黑模式詳解

    Android如何快速適配暗黑模式詳解

    微信在前段時間的更新中也實現(xiàn)了暗黑模式,而蘋果系統(tǒng)也早就支持暗黑模式,Android也一樣可以實現(xiàn),下面這篇文章主要給大家介紹了關于Android如何快速適配暗黑模式的相關資料,需要的朋友可以參考下
    2021-08-08
  • Android項目實戰(zhàn)之ListView懸浮頭部展現(xiàn)效果實現(xiàn)

    Android項目實戰(zhàn)之ListView懸浮頭部展現(xiàn)效果實現(xiàn)

    這篇文章主要給大家介紹了Android項目實戰(zhàn)之ListView懸浮頭部展現(xiàn)效果實現(xiàn)的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-01-01

最新評論

广河县| 井研县| 孟津县| 利辛县| 汶川县| 屯昌县| 若羌县| 乌审旗| 体育| 柏乡县| 屏东县| 龙江县| 镇沅| 筠连县| 南川市| 兴业县| 永吉县| 马边| 桂林市| 三门县| 卓尼县| 新乡县| 东乡| 固始县| 玛沁县| 张家界市| 来安县| 洛川县| 阜南县| 田林县| 昭苏县| 翁牛特旗| 台北市| 襄樊市| 勐海县| 靖州| 龙泉市| 威信县| 沁源县| 金山区| 鹤岗市|