2010/07/01

Android 將Canvas寫成圖片以及透明

搜尋用關鍵字:"Canvas to Bitmap","Canvas to PNG","Canvas to JPEG","Canvas Transparent","Transparent","圖片透明"

以來源方式取得轉成Bitmap
Bitmap viewBgrnd = BitmapFactory.decodeResource(mContext.getResources(),R.drawable.blackBgrnd);

更詳細看這邊
http://www.brighthub.com/mobile/google-android/articles/64048.aspx

自行產生新的Bitmap作為Canvas附帶
Bitmap  bitmap = Bitmap.createBitmap( view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(bitmap); 
view.draw(canvas);  
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);  

Config.ARGB_8888 似乎是透明圖片、高畫質的意思,但是實際上用了也沒有什麼感覺。

要透明的話

Canvas c = new Canvas(bitmap);
c.drawColor(Color.TRANSPARENT);

不行的話再用
c.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);


參考文章
http://www.eoeandroid.com/redirect.php?tid=8573&goto=lastpost
http://androidforums.com/android-developers/36122-saving-png-transparency.html

No comments:

Post a Comment