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

Android實(shí)現(xiàn)圖片疊加功能

 更新時(shí)間:2018年04月26日 14:52:15   作者:南湖大道茶山劉  
本篇文章主要介紹了Android實(shí)現(xiàn)圖片疊加功能的代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

前幾天工作碰到這樣一個(gè)需求,將二維碼與一張海報(bào)疊加,并將合成后的海報(bào)分享到微信。由于經(jīng)驗(yàn)不足,在實(shí)現(xiàn)功能的過程中,碰到了這樣或那樣的問題,我就來分享一下我碰到的坑。

一.圖片疊加的處理

處理思路是在一張新建畫布上分別將兩張圖片繪制出來

        1.首先獲取需要兩張圖片,并轉(zhuǎn)成Bitmap類型

Bitmapbg = ((BitmapDrawable) getResources().getDrawable(

 R.drawable.background)).getBitmap();

Bitmapfg = ((BitmapDrawable) getResources().getDrawable(

 R.drawable.foreground)).getBitmap();

        2.創(chuàng)建一張大小和背景圖一致的位圖

intbgWidth=bg.getWidth();

intbgHeight=bg.getHeight();

intfgWidth=fg.getWidth(); //前景圖寬度,用于后面計(jì)算前景圖的繪制坐標(biāo)

/*這里不詳細(xì)解釋RGB_565和RGB_8888,RGB_6666的區(qū)別,我是因?yàn)楹髞矸窒淼轿⑿诺倪^程中,發(fā)現(xiàn)圖片過大,就盡量讓圖片更小,值得一提的是,我有試過RGB_6666,發(fā)現(xiàn)getConfig()圖片的參數(shù)并沒有變化,看了源碼才知道,即使是選擇RGB_6666,也會被轉(zhuǎn)成RGB_8888,應(yīng)該是畫質(zhì)太慘目忍睹了,Google便放棄了RGB_6666了*/

Bitmapnewbmp=Bitmap.createBitmap(bgWidth,bgHeight,Bitmap.Config.RGB_565);

         3.新建畫布,并畫出背景圖和前景圖

Canvascv=newCanvas(newbmp);

//drawbginto

//在0,0坐標(biāo)開始畫入bg

cv.drawBitmap(bg,0,0,null);

//drawfginto

//開始畫入fg,可以從任意位置畫入,具體位置自己計(jì)算

cv.drawBitmap(fg,(bgWidth-fgWidth)/2,bgHeight/4*3-500,null);

二.圖片壓縮處理

在使用微信sdk分享圖片的過程中,發(fā)現(xiàn)圖片過大會導(dǎo)致微信拉起失敗,處理思路是將縮放至原來的一半,圖片占用內(nèi)存自然就減少了,是不是簡單粗暴呀

Matrixmatrix=newMatrix();

matrix.setScale(0.5f,0.5f);

Bitmap compbmp=Bitmap.createBitmap(newbmp,0,0,newbmp.getWidth(),

newbmp.getHeight(),matrix,true);

三.最終效果

以上所述是小編給大家介紹了Android圖片疊加功能代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • AndroidQ分區(qū)存儲權(quán)限變更及適配的實(shí)現(xiàn)

    AndroidQ分區(qū)存儲權(quán)限變更及適配的實(shí)現(xiàn)

    這篇文章主要介紹了AndroidQ分區(qū)存儲權(quán)限變更及適配的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Android開發(fā)Jetpack組件ViewModel使用講解

    Android開發(fā)Jetpack組件ViewModel使用講解

    這篇文章主要介紹了Android?Jetpack架構(gòu)組件?ViewModel詳解,ViewModel類讓數(shù)據(jù)可在發(fā)生屏幕旋轉(zhuǎn)等配置更改后繼續(xù)存在,ViewModel類旨在以注重生命周期的方式存儲和管理界面相關(guān)的數(shù)據(jù),感興趣可以來學(xué)習(xí)一下
    2022-08-08
  • Android實(shí)現(xiàn)音頻條形圖效果(仿音頻動畫無監(jiān)聽音頻輸入)

    Android實(shí)現(xiàn)音頻條形圖效果(仿音頻動畫無監(jiān)聽音頻輸入)

    這篇文章主要介紹了Android實(shí)現(xiàn)音頻條形圖效果(仿音頻動畫無監(jiān)聽音頻輸入)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • Android中使用BitmapShader類來制作各種圖片的圓角

    Android中使用BitmapShader類來制作各種圖片的圓角

    這篇文章主要介紹了Android中使用BitmapShader類來制作各種圖片的圓角的方法,文中隨教程講解帶出的例子可以輕松控制圖片圓形的變換,很好很強(qiáng)大,需要的朋友可以參考下
    2016-04-04
  • Android打包版本號設(shè)置方法

    Android打包版本號設(shè)置方法

    這篇文章主要介紹了Android打包版本號設(shè)置方法,需要的朋友可以參考下
    2017-10-10
  • 解決Android studio模擬器啟動失敗的問題

    解決Android studio模擬器啟動失敗的問題

    這篇文章主要介紹了Android studio模擬器啟動失敗的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Android NDK中socket的用法以及注意事項(xiàng)分析

    Android NDK中socket的用法以及注意事項(xiàng)分析

    本篇文章是對Android NDK中socket的用法以及注意事項(xiàng)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Android GridLayout使用案例詳解

    Android GridLayout使用案例詳解

    這篇文章主要介紹了Android GridLayout使用案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • android實(shí)現(xiàn)錄屏小功能

    android實(shí)現(xiàn)錄屏小功能

    這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)錄屏小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Android結(jié)合kotlin使用coroutine的方法實(shí)例

    Android結(jié)合kotlin使用coroutine的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Android結(jié)合kotlin使用coroutine的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論

南汇区| 梅河口市| 华宁县| 吉木萨尔县| 梧州市| 新密市| 揭东县| 冀州市| 葫芦岛市| 苏尼特左旗| 德庆县| 策勒县| 罗甸县| 桃源县| 虞城县| 寿阳县| 龙南县| 长岭县| 秦安县| 长垣县| 黄梅县| 四平市| 疏附县| 南充市| 渝中区| 筠连县| 长垣县| 乌鲁木齐县| 卢湾区| 萝北县| 鹿泉市| 云安县| 应用必备| 涪陵区| 滦平县| 陆河县| 明星| 永顺县| 玉溪市| 手游| 大石桥市|