2

嘿,我需要在我的应用程序中缩放位图,但是缩放工作太慢,有时我会在相反的方向上得到这些随机缩放事件。这是我的ondraw方法:

public void onDraw(Canvas canvas) {
        mBitmap = BitmapFactory.decodeResource(getResources(),
            R.drawable.ucsbmap);
        canvas.drawBitmap(mBitmap, matrix, mPaint);    
}

和我的 onScale 方法(处理我的位图缩放的 SimpleOnScaleGestureListener 的一部分)

     public boolean onScale(ScaleGestureDetector detector) {      
          float scaleFactor = detector.getScaleFactor();
          float x = detector.getFocusX();
          float y = detector.getFocusY();
          matrix.setScale(scaleFactor, scaleFactor, x, y);
          repaint();
          return true;
     }

谢谢你。

4

1 回答 1

1

这个问题在缩放中并不实际。您在方法中访问磁盘 ( BitmapFactory.decodeResource) onDraw- 这真的很慢。

将以下代码移至构造函数:

mBitmap = BitmapFactory.decodeResource(getResources(),
            R.drawable.ucsbmap);
于 2013-03-21T12:31:12.600 回答