日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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è)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進(jìn)行中。

支持平臺:Android

運(yùn)行環(huán)境:Eclipse

開發(fā)語言:Java

開發(fā)工具:Eclipse

源碼大小:30.93KB

源碼簡介

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

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

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

源碼運(yùn)行截圖

桌面背景,進(jìn)行涂鴉

返回鍵撤銷畫筆路徑

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.             // 實(shí)時的顯示 
  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.     } 

網(wǎng)站欄目:Android源碼下載:屏幕畫筆Demo
文章地址:http://www.5511xx.com/article/dhpsepp.html