亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android 實(shí)現(xiàn)把bitmap圖片的某一部分的顏色改成其他顏色

 更新時間:2020年04月28日 11:48:00   作者:沒有什么不一樣  
這篇文章主要介紹了Android 實(shí)現(xiàn)把bitmap圖片的某一部分的顏色改成其他顏色,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

把bitmap圖片的某一部分的顏色改成其他顏色

private Bitmap ChangeBitmap(Bitmap bitmap){
 int bitmap_h;
 int bitmap_w;
 int mArrayColorLengh;
 int[] mArrayColor;
 int count = 0;
 mArrayColorLengh = bitmap.getWidth() * bitmap.getHeight();
 mArrayColor = new int[mArrayColorLengh];
 bitmap_w=bitmap.getWidth();
 bitmap_h =bitmap.getHeight();
 int newcolor=-1;
 for (int i = 0; i < bitmap.getHeight(); i++) {
  for (int j = 0; j < bitmap.getWidth(); j++) {
   //獲得Bitmap 圖片中每一個點(diǎn)的color顏色值
   int color = bitmap.getPixel(j, i);
   //將顏色值存在一個數(shù)組中 方便后面修改
   // mArrayColor[count] = color;
   int r = Color.red(color);
   int g = Color.green(color);
   int b = Color.blue(color);
   int a =Color.alpha(color);
   if ((90<r&&r<=200)&&(90<g&&g<=200)&&(90<b&&b<=200)){//大概得把非道路(路旁變透明)
    a=0;
    Log.i("imagecolor","============"+color);
   }else if (r==255&&g==255&&b==33){//把黃色的箭頭白色 因?yàn)辄S色箭頭rgb大部分是255 255 33(值可以用畫圖工具取值) 組合
            // 但是還有小部分有別的值組成(箭頭所不能變成全白有黃色斑點(diǎn))
     r=255;
     g=255;
     b=255;
   }
   color = Color.argb(a, r, g, b);
   mArrayColor[count]=color;
   Log.i("imagecolor","============"+ mArrayColor[count]);
   count++;
  }
 }
 mbitmap = Bitmap.createBitmap( mArrayColor, bitmap_w, bitmap_h, Bitmap.Config.ARGB_4444 );
 return mbitmap;
}

補(bǔ)充知識:android圖片不同分辨率適配

dpi(Dots Per Inch):每英寸的像素點(diǎn)數(shù)量

dp(density-independent pixel):密度無關(guān)像素,當(dāng)dpi為160時,1dp=1px,當(dāng)dpi為320時,1dp=2px,以此類推.......,即公式1dp = (dpi / 160)px

圖片的規(guī)格:px*px,比如270*480像素的圖片

android使用匹配機(jī)制用到dpi這個參數(shù),無論是什么手機(jī),不管1080分辨率還是2K分辨率,都對應(yīng)著唯一的一個dpi,dpi的計(jì)算方法是,height和width分別是手機(jī)寬和高對應(yīng)的px數(shù)量,size代表平常所說的5英寸手機(jī)中的數(shù)字5,即英寸,代碼計(jì)算方法是float xdpi = getResources().getDisplayMetrics().xdpi; float ydpi = getResources().getDisplayMetrics().ydpi;其中獲取的xdpi和ydpi基本一樣,因?yàn)橐粋€手機(jī)的屏幕像素點(diǎn)是追求平均分布的,所以無論是寬、高、還是斜邊,其dpi應(yīng)該都是一樣的,當(dāng)然由于技術(shù)限制,一般會有些誤差。

現(xiàn)在拿到一個手機(jī),首先計(jì)算出它的dpi,然后查下方的表,找出對應(yīng)的密度,比如我的手機(jī)是1080*1920,為400dpi,則對應(yīng)xxhdpi,android系統(tǒng)會自動優(yōu)先在drawable-xxhdpi文件夾中找對應(yīng)的圖片,如果找到了就加載,此時圖片在手機(jī)上顯示的就是它本身的大小,也就是270*480像素;如果未找到,就去更高分辨率的文件夾xxxhdpi中找,一直找到最高也沒有的話,就會查找drawable-nodpi文件夾,還是沒有就開始依次查詢低分辨率的文件夾,由高到低一直查到ldpi。

dpi范圍

密度

0dpi ~ 120dpi

ldpi

120dpi ~ 160dpi

mdpi

160dpi ~ 240dpi

hdpi

240dpi ~ 320dpi

xhdpi

320dpi ~ 480dpi

xxhdpi

480dpi ~ 640dpi

xxxhdpi

舉例:將一個270*480像素的圖片放入布局,寬高都是wrap_content,將該圖片放入xxhdpi中,可以看到顯示效果就是圖片寬高各占了屏幕寬高的四分之一,和預(yù)期一樣。

如果將xxhdpi下的圖片剪切到drawable-mdpi中,效果如下,可以看到圖片明顯變大。原因:系統(tǒng)在加載圖片時,首先去對應(yīng)的文件夾查找,沒找到,又依次按照順序一直在drawable-mdpi找到,但是系統(tǒng)會認(rèn)為你這張圖是專門為低密度的設(shè)備所設(shè)計(jì)的,如果直接將這張圖在當(dāng)前的高密度設(shè)備上使用就有可能會出現(xiàn)像素過低的情況,于是系統(tǒng)自動幫我們做了這樣一個放大操作。

理解:考慮該圖片在一個dpi對應(yīng)drawable-mdpi文件夾的手機(jī)上的顯示效果,因?yàn)槿绻窃趯?yīng)文件夾找到了圖片的話,就不會對圖片做縮放操作了,所以在一個低分辨率的手機(jī)上,270*480像素的圖片的確是這樣的顯示效果。

縮放倍數(shù):以mdpi為基準(zhǔn),drawable-mdpi : drawable-hdpi : drawable-xhdpi : drawable-xxhdpi : drawable-xxxhdpi = 1 : 1.5 :2 : 3 :4 即dpi范圍的最大值之比。

總結(jié):為了達(dá)到在各個分辨率的手機(jī)上都有一樣的效果,最好要有一套不同分辨率的圖片來放在各個文件夾中,一般對應(yīng)如下,不過項(xiàng)目中為了減小app體積,除了APP的圖標(biāo)會準(zhǔn)備一套外,其他的一般都只會準(zhǔn)備一張較高分辨率的,比如精進(jìn)學(xué)堂就只有drawable-xxhdpi。準(zhǔn)備高分辨率而不是低分辨率是為了防止放大圖片導(dǎo)致的模糊,而縮小造成的影響就沒那么嚴(yán)重。

密度

建議尺寸

drawable-mdpi

48 * 48

drawable-hdpi

72 * 72

drawable-xhdpi

96 * 96

drawable-xxhdpi

144 * 144

drawable-xxxhdpi

192 * 192

比如,可以去精進(jìn)學(xué)堂的項(xiàng)目中看一下,對應(yīng)的icon的規(guī)格都是按上面的設(shè)計(jì)的

以上這篇Android 實(shí)現(xiàn)把bitmap圖片的某一部分的顏色改成其他顏色就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android 自定義TextView實(shí)現(xiàn)文本內(nèi)容自動調(diào)整字體大小

    Android 自定義TextView實(shí)現(xiàn)文本內(nèi)容自動調(diào)整字體大小

    本文主要介紹了Android 自定義TextView實(shí)現(xiàn)文本內(nèi)容自動調(diào)整字體大小以適應(yīng)TextView的大小的方法。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • idea下Android各目錄所代表的含義介紹

    idea下Android各目錄所代表的含義介紹

    這篇文章主要給大家介紹了關(guān)于idea下Android各目錄所代表含義的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Flutter多項(xiàng)選擇彈窗實(shí)現(xiàn)詳解

    Flutter多項(xiàng)選擇彈窗實(shí)現(xiàn)詳解

    這篇文章介紹了Flutter多項(xiàng)選擇彈窗實(shí)現(xiàn)詳解,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2021-11-11
  • Flutter中http請求抓包的完美解決方案

    Flutter中http請求抓包的完美解決方案

    這篇文章主要給大家介紹了關(guān)于Flutter中http請求抓包的完美解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Android CameraX結(jié)合LibYUV和GPUImage自定義相機(jī)濾鏡

    Android CameraX結(jié)合LibYUV和GPUImage自定義相機(jī)濾鏡

    之前使用Camera實(shí)現(xiàn)了一個自定義相機(jī)濾鏡(Android自定義相機(jī)濾鏡 ),但是運(yùn)行起來有點(diǎn)卡頓,這次用Camerax來實(shí)現(xiàn)一樣的效果發(fā)現(xiàn)很流暢,在此記錄一下,也希望能幫到有需要的同學(xué)
    2021-12-12
  • android讀寫cookie的方法示例

    android讀寫cookie的方法示例

    這篇文章主要介紹了android讀寫cookie的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Android webview使用方法總結(jié)

    Android webview使用方法總結(jié)

    這篇文章主要介紹了Android webview使用方法總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Android網(wǎng)絡(luò)請求框架Retrofit詳解

    Android網(wǎng)絡(luò)請求框架Retrofit詳解

    這篇文章主要為大家詳細(xì)介紹了Android網(wǎng)絡(luò)請求框架Retrofit,使用Retrofit2.0.0版本進(jìn)行實(shí)例演示,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Android 測試入門篇

    Android 測試入門篇

    Android本身是一套軟件堆疊(Software Stack),或者成為軟件疊層架構(gòu),疊層主要分成三層:操作系統(tǒng)、中間件和應(yīng)用程序
    2014-03-03
  • Android中利用SurfaceView制作抽獎轉(zhuǎn)盤的全流程攻略

    Android中利用SurfaceView制作抽獎轉(zhuǎn)盤的全流程攻略

    這篇文章主要介紹了Android中利用SurfaceView制作抽獎轉(zhuǎn)盤的全流程,從圖案的繪制到轉(zhuǎn)盤的控制再到布局,真的非常全面,需要的朋友可以參考下
    2016-04-04

最新評論