编辑: - >大家好! < -
我正在制作一个“基于图像的应用程序”! 我想做的是:
所以问题是叠加!我有一个SurfaceView,里面拍摄照片,现在我想看到像窗口(rect2)和alpha覆盖(rect1某种黑色,alpha 50%)的正方形。 是否可以绘制2个Rect,一个是全尺寸(rect1),另一个是较小尺寸(rect2),然后从第一个Rect中切出较小的?
______________
|Rect1 |
| ______ |
| |Rect2 | |
| | | |
| |______| |
|____________|
我使用的是Android 2.1。我知道在2.3.3中有一个BitmapRegionDecoder!这件事几乎可以做我想做的事情。 此刻我画了4个Rect并在窗口的中间留下一个小洞,但这就像我的A **中的一个痛苦就是移动这个sqare并调整它的大小。
编辑:我想要做的就像在Facebook上一样,如果你上传一张图片为Profileimage,你必须移动并调整图像上的方块,当你发布一些东西时左边的“头像” - 图像...所以我希望一切都清楚,你可以帮助我!
由于
答案 0 :(得分:0)
您可以使用FrameLayout(如容器)以及定位SurfaceView(您的rect)。 使用removeView,您可以通过使用findviewbyid捕获来删除所需的矩形。
我希望这对你有所帮助。再见
答案 1 :(得分:0)
public class yourActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new yourCanvas(this));
}
class yourCanvas extends View {
public Panel(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas) {
Bitmap yourBitmap = getYourBitmap();
canvas.drawBitmap(_yourBitmap, 50, 50, null);
canvas.drawRect(0,0,canvas.getWidth(),50,null); //top rect
canvas.drawRect(0,0,50,canvas.getHeight(),null); //left rect
canvas.drawRect(50+yourBitmap.getWidth(),0,canvas.getWidth(),canvas.getHeight(),null); //right rect
canvas.drawRect(0,50+yourBitmap.getHeight(),canvas.getWidth(),canvas.getHeight(),null); //Bottom rect
}
}
}
上一个回答如果你只是想为你的imageview创建一个边框
我想提出以下建议: