0

我目前正在开发一个应用程序,人们可以在其中将对象放置在 SurfaceView 中——图像等,他们可以调整它的大小等等。现在我有一个用例,有人可以将其放置在类似图像的框架中——可以说它是一个中心为透明的方形图像。现在他们可以设置一个可以进入这个框架的图像,并且仅限于该框架的边界,并且他们可以从那里随意调整它的大小。有人做这样的实现吗?请注意,这与帧全屏时不同,这很容易做到。请参阅下面的示例:

在此处输入图像描述

绿色是 SurfaceView 的主要背景区域,他添加了栗色/红色框架,现在他将图片设置为进入框架(这都在同一个表面内)。这一次的主要区别在于,当他在这里调整/移动图像时,它应该以红色框为界(他不会看到它在外面重叠,如下图所示)。任何人都有经验如何在Android上做到这一点。?

4

1 回答 1

0

使用clipRect()画布的方法。您可以在绘制要构图的图像之前为其提供一个指定框架的矩形。像这样的东西应该工作:

首先,在移动框架时,您需要有一个相应的Rect

myRect.set(frameleft, frametop, frameright, framebottom);

在你的onDraw()你用这个矩形剪辑图片:

canvas.save(Canvas.CLIP_SAVE_FLAG);
canvas.clipRect(pictureRect);
canvas.drawBitmap(/*your drawing parameters for the image*/);
canvas.restore(); //Restore to drawing the entire canvas
于 2013-02-14T18:58:52.533 回答