Android 設定圖片 Bitmap任意透明度
兩種思路,第一種思路是通過對Bitmap進行操作,將Bitmap的畫素值get到一個int[]陣列裡,因為在android裡Bitmap通常是ARGB8888格式,所以最高位就是A通道的值,對齊進行改變後再新建一個Bitmap即可。第二種思路是通過設定canvas的paint的透明度,然後通過canvas.drawBitmap()來改變View的透明度。具體程式碼如下:
第一種思路:
public static Bitmap getTransparentBitmap(Bitmap sourceImg, int number){
int[] argb = new int[sourceImg.getWidth() * sourceImg.getHeight()];
sourceImg.getPixels(argb, 0, sourceImg.getWidth(), 0, 0, sourceImg
.getWidth(), sourceImg.getHeight());// 獲得圖片的ARGB值
number = number * 255 / 100;
for (int i = 0; i < argb.length; i++) {
argb[i] = (number << 24) | (argb[i] & 0x00FFFFFF);
}
sourceImg = Bitmap.createBitmap(argb, sourceImg.getWidth(), sourceImg
.getHeight(), Config.ARGB_8888);
return sourceImg;
}
上述程式碼經本人親測可用,修正了連結 的兩個錯誤。number的範圍是0-100,0表示完全透明即完全看不到。可以看到最關鍵的一步是argb[i] = (number << 24) | (argb[i] & 0x00FFFFFF); 通過(argb[i] & 0x00FFFFFF)將第i點的畫素的A通道置為0,然後和(num<<24)進行或操作。移位參見 連結
第二種思路:
示例程式碼:
class drawCanvas extends View {
public drawCanvas(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 取得Resource 圖片的Bitmap
Bitmap vBitmap = BitmapFactory.decodeResource( this.getResources()
, R.drawable.icon
);
// 建立Paint 物件
Paint vPaint = new Paint();
vPaint .setStyle( Paint.Style.STROKE ); //空心
vPaint .setAlpha( 75 ); //
canvas.drawBitmap ( vBitmap , 50, 100, null ); //無透明
canvas.drawBitmap ( vBitmap , 50, 200, vPaint ); //有透明
}
}
關於canvas.drawBitmap詳見 連結
兩種方法各有用途,哪個方面用哪。
轉自:http://blog.csdn.net/yanzi1225627/article/details/29661935
相關文章
- 使用javascript設定圖片的透明度JavaScript
- 將任意bmp圖片大小重新設定後生成新的bmp圖片
- Android圖片快取之Bitmap詳解Android快取
- Android 設定TextView透明度AndroidTextView
- Android 之 View透明度的設定AndroidView
- Android圖片編碼機制(Bitmap,Skia,libJpeg)Android
- Android之背景圖片設定為重複Android
- Windows設定圖片縮圖Windows
- canvas 設定透明度Canvas
- canvas設定透明度Canvas
- jQuey設定透明度
- CSS 透明度設定CSS
- 設定svg圖片大小SVG
- JavaScript設定背景圖片JavaScript
- 將網路圖片 轉化成bitmap
- Bitmap的圖片壓縮彙總
- iOS_按鈕文字圖片任意佈局,隨意定製iOS
- Android自定義設定圓形圖片控制元件Android控制元件
- JavaScript設定元素透明度JavaScript
- jQuery設定透明度效果jQuery
- 直播系統搭建,插入圖片、刪除圖片、設定圖片大小
- 設定圖片水平垂直居中
- Typora上傳圖片設定
- iOS圖片設定圓角iOS
- JavaScript設定背景圖片位置JavaScript
- Word巨集設定圖片大小
- 為view設定背景圖片View
- 利用bitmap將圖片部分顏色透明
- Android之TextView設定drawableRight等圖片文字間隔AndroidTextView
- Android中圖片圓形設定三種方法介紹Android
- Android radioButton只設定圖片是居中顯示Android
- Android:將View的內容對映成Bitmap轉圖片匯出AndroidView
- CSS 設定邊框透明度CSS
- Android Bitmap(點陣圖)詳解Android
- ImageView的屬性android:scaleType設定最佳比例圖片顯示ViewAndroid
- CSS 設定<img>圖片樣式CSS
- html+css 設定背景圖片HTMLCSS
- CSS設定背景圖片程式碼CSS