日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 半透明黑,android – ImageView中图像的透明部分变成黑色

發布時間:2023/12/14 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 半透明黑,android – ImageView中图像的透明部分变成黑色 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

經過一些嘗試:首先我嘗試使用圖像作為資源繪制,它仍然發生(圖像的透明部分變成黑色),其次我將圖像轉換為png圖像,它是工作,所以問題是在文件類型(gif ).

因為在我的真實應用程序中,從服務器獲取的圖像,我不能像png格式一樣請求圖像,我使用此鏈接的解決方案:

Transparent GIF in Android ImageView

因為我使用Picasso我使用目標從圖像頭像中刪除黑色,所以只顯示一個圖像(就像我的問題)很簡單,就像這樣:

target = new Target() {

@Override

public void onPrepareLoad(Drawable arg0) {

}

@Override

public void onBitmapLoaded(Bitmap bitmap, LoadedFrom arg1) {

if (Build.VERSION.SDK_INT == 19/*Build.VERSION_CODES.KITKAT*/){

Bitmap editedavatar = AndroidUtils.eraseColor(bitmap, -16777216);

avatar.setImageBitmap(editedavatar);

}

}

@Override

public void onBitmapFailed(Drawable arg0) {

avatar.setImageResource(R.drawable.ic_profile_default);

其中擦除顏色是靜態方法

public static Bitmap eraseColor(Bitmap src, int color) {

int width = src.getWidth();

int height = src.getHeight();

Bitmap b = src.copy(Config.ARGB_8888, true);

b.setHasAlpha(true);

int[] pixels = new int[width * height];

src.getPixels(pixels, 0, width, 0, 0, width, height);

for (int i = 0; i < width * height; i++) {

if (pixels[i] == color) {

pixels[i] = 0;

}

}

b.setPixels(pixels, 0, width, 0, 0, width, height);

return b;

}

但是,由于我使用畢加索在列表視圖中顯示圖像,所以我在ViewHolder中創建了Target,并且到目前為止工作得很好.

總結

以上是生活随笔為你收集整理的android 半透明黑,android – ImageView中图像的透明部分变成黑色的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。