Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android畫圓角矩形圖片,並在圖片上寫字

Android畫圓角矩形圖片,並在圖片上寫字

編輯:關於Android編程

剛做一個應用,UI設計的效果是需要在Android中用已有的圖片畫出一個矩形圖形,並且要在圖形上寫不同的字樣。   參考了上面的博文,制定的實現思路如下:   1、創建一個drawable對象,一個輸出的Bitmap並以此創建一個畫布           //根據源文件新建一個darwable對象           Drawable imageDrawable = getResources().getDrawable(id);          // 新建一個新的輸出圖片           Bitmap output = Bitmap.createBitmap(169, 169, Bitmap.Config.ARGB_8888);          Canvas canvas = new Canvas(output);    2、創建圓角矩形           // 新建一個矩形           RectF outerRect = new RectF(0, 0, 169, 169);           // 產生一個紅色的圓角矩形  或者任何有色顏色,不能是透明!         Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);          paint.setColor(Color.RED);          canvas.drawRoundRect(outerRect, 10, 10, paint);  3、在矩形上畫圖形           paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));         imageDrawable.setBounds(0, 0, 169, 169);          imageDrawable.draw(canvas);   4、寫字           paint.setTextSize(24);         paint.setColor(Color.WHITE);         paint.setTextAlign(Paint.Align.CENTER);         paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_ATOP));         canvas.drawText(s , 85 , 159 , paint);   這樣,就完成了想要的效果。       這是調用了9次,每一次用不同的背景圖。     總結,在上面的實現過程中,使用了兩次        paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_ATOP));   不過(PorterDuff.Mode.SRC_ATOP)並不相同。而實現的關鍵正在此處!   先看不同的Mode值是代表了什麼樣的效果。但在此之前,需明確兩個變量:dst,src(dst是畫布原有的圖形,src是新畫上去的圖形)。     因此這就是我的實現邏輯:   先畫圓角矩形,這時圓角矩形是dst,然後畫圖形,圖形是src,使用Mode是srcIn,這樣就形成了圓角矩形;   接下來,圓角矩形圖形是dst,然後畫文字,文字是src,使用Mode是srcATop,這樣就形成了在圓角圖形上寫字的效果。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved