日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android源碼下載:屏幕畫筆Demo

功能分類:工具

成都創(chuàng)新互聯(lián)是一家專業(yè)提供荔浦企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、html5、小程序制作等業(yè)務(wù)。10年已為荔浦眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。

支持平臺:Android

運行環(huán)境:Eclipse

開發(fā)語言:Java

開發(fā)工具:Eclipse

源碼大小:30.93KB

源碼簡介

該Demo主要以當(dāng)前桌面為背景,完成畫筆的相關(guān)功能。

1、畫筆的添加、移除等功能;

2、針對不同的生命周期,響應(yīng)不同的桌面背景。

源碼運行截圖

桌面背景,進行涂鴉

返回鍵撤銷畫筆路徑

home,切換背景后,繼續(xù)涂鴉

畫筆涂鴉

源碼片段

 
 
 
 
  1. public ScreenPaintView(Context context, int w, int h) { 
  2.         super(context); 
  3.         screenWidth = w; 
  4.         screenHeight = h; 
  5.   
  6.         mBitmap = Bitmap.createBitmap(screenWidth, screenHeight, 
  7.                 Bitmap.Config.ARGB_8888); 
  8.         // 保存一次一次繪制出來的圖形 
  9.         mCanvas = new Canvas(mBitmap); 
  10.   
  11.         mBitmapPaint = new Paint(Paint.DITHER_FLAG); 
  12.         mPaint = new Paint(); 
  13.         mPaint.setAntiAlias(true); 
  14.         mPaint.setStyle(Paint.Style.STROKE); 
  15.         mPaint.setStrokeJoin(Paint.Join.ROUND);// 設(shè)置外邊緣 
  16.         mPaint.setStrokeCap(Paint.Cap.SQUARE);// 形狀 
  17.         mPaint.setStrokeWidth(8);// 畫筆寬度 
  18.         mPaint.setColor(0xFF2145FF);// 畫筆顏色 
  19.         savePath = new ArrayList(); 
  20.     } 
  21.   
  22.     @Override 
  23.     public void onDraw(Canvas canvas) { 
  24.         canvas.drawColor(0x0FFFFFFF); 
  25.         // 將前面已經(jīng)畫過得顯示出來 
  26.         canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint); 
  27.         if (mPath != null) { 
  28.             // 實時的顯示 
  29.             canvas.drawPath(mPath, mPaint); 
  30.         } 
  31.     } 
  32.   
  33.     private void touch_start(float x, float y) { 
  34.         mPath.moveTo(x, y); 
  35.         mX = x; 
  36.         mY = y; 
  37.     } 
  38.   
  39.     private void touch_move(float x, float y) { 
  40.         float dx = Math.abs(x - mX); 
  41.         float dy = Math.abs(mY - y); 
  42.         if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) { 
  43.             // 從x1,y1到x2,y2畫一條貝塞爾曲線,更平滑(直接用mPath.lineTo也是可以的) 
  44.             // 由此就可以制作各種畫筆 
  45.             mPath.quadTo(mX, mY, (x + mX) / 2, (y + mY) / 2); 
  46.             mX = x; 
  47.             mY = y; 
  48.         } 
  49.     } 
  50.   
  51.     private void touch_up() { 
  52.         mPath.lineTo(mX, mY); 
  53.         mCanvas.drawPath(mPath, mPaint); 
  54.         // 將一條完整的路徑保存下來(相當(dāng)于入棧操作) 
  55.         savePath.add(dp); 
  56.         mPath = null;// 重新置空 
  57.     } 

當(dāng)前名稱:Android源碼下載:屏幕畫筆Demo
網(wǎng)頁網(wǎng)址:http://www.dlmjj.cn/article/dhpsepp.html