canvas的使用

private void myDraw() {
  Canvas canvas=holder.lockCanvas();
  //由於沒有刷屏,一個畫布上存在多個元素
  //使用繪製矩形,大小與畫布的大小相同進行覆蓋(實驗未成功)
  canvas.drawColor(Color.BLACK);
  Bitmap bmp=BitmapFactory.decodeResource(getResources(), R.drawable.yes);
  //旋轉圖片
  canvas.rotate(30, bmp.getWidth(), bmp.getHeight());
  //canvas類中有兩個重要的函數save()與restore(),可以對圖片進行這樣的處理
  //前面的一張的圖片進行了旋轉,而對於第二張圖片不進行任何的處理,還有一種對畫布進行旋轉的方式,就是利用Matrix來實現地
  Matrix mxMatrix=new Matrix();
  mxMatrix.postRotate(30);
  //canvas還可以對圖片進行平移,使用的是translate(float dx,float dy)
  //對圖片進行縮放,使用的是scale()命令
  //鏡像翻轉位圖
  //剪切區域 canvas.clipRect()
 
 
  canvas.drawBitmap(bmp, 0,0, paint);
  canvas.restore();
  canvas.drawBitmap(bmp, 0, 0,paint);
  holder.unlockCanvasAndPost(canvas);
 
 }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章