我有这个SurfaceView,当我拖动一个条时,zoomController增加了,当我以另一种方式拖动它时,zoomController减少了。
效果是放大和缩小照片,我的问题是老照片留下来,所以如果我把它变得很大,然后变小,大图像留在小图像的后面。为什么会发生这种情况?
公网上下文(Context SView){ super( context);zoomController = 100;x= 100;y= 100;
holder = getHolder();
holder.setFormat(PixelFormat.TRANSPARENT);
}
public void run()
{
while(isItOk)
{
if(!holder.getSurface().isValid())
{
continue;
}
Canvas c = holder.lockCanvas();
Paint p = new Paint();
tattoo = this.getResources().getDrawable(R.drawable.sample);
if(tattoo != null)
{
tattoo.setBounds(getWidth() / 2 - zoomController - x, getHeight() / 2 - zoomController - y, getWidth()/ 2 + zoomController - x, getHeight()/ 2 + zoomController - y);
tattoo.draw(c);
}
holder.unlockCanvasAndPost(c);
}
}发布于 2012-11-13 02:28:50
就像你说的,SurfaceView没有清除旧图像。这是故意的。如果你想清除它,你需要手动完成。在您(重新)绘制您的图像之前尝试以下操作:
Canvas.drawColor(Color.BLACK);https://stackoverflow.com/questions/13348224
复制相似问题