Android在画布中创建层
我想学习如何在android应用程序中创建层(如photoshop)。我想实现一个基本的目标:当我在画布中添加一个图像时,比如某个图形,我希望能够绘制画布,但绘制不能影响图形的线条。然后我需要将该图像保存在Sd卡上Android在画布中创建层,android,paint,android-canvas,layer,Android,Paint,Android Canvas,Layer,我想学习如何在android应用程序中创建层(如photoshop)。我想实现一个基本的目标:当我在画布中添加一个图像时,比如某个图形,我希望能够绘制画布,但绘制不能影响图形的线条。然后我需要将该图像保存在Sd卡上 有什么建议/建议/例子吗?我可以使用什么来实现这一点?绘制图层的顺序。 创建一些绘制的对象堆栈,然后修改单个对象(在层中绘制)或在此堆栈中移动它们(更改层)。 使用相同的顺序创建要保存的图像。查看可应用于绘制的各种XfermodesPorterDuff.Mode提供了一些类似于Pho
有什么建议/建议/例子吗?我可以使用什么来实现这一点?绘制图层的顺序。 创建一些绘制的对象堆栈,然后修改单个对象(在层中绘制)或在此堆栈中移动它们(更改层)。
使用相同的顺序创建要保存的图像。查看可应用于
绘制的各种Xfermode
sPorterDuff.Mode
提供了一些类似于Photoshop的选项,如屏幕和倍增、加亮和加暗。AvoidXferMode
可能更适合您的需要。您可以在框架布局中组合层。您可能需要一些技巧来确保触摸事件传递到正确的层
一旦android按照自己喜欢的方式组合视图,就可以使用mFrameLayout.onDraw(Canvas c)将整个视图绘制到画布上
本文提供了一些有关如何将viewgroup转换为jpeg格式的信息
画布中的层
Bitmap bitmap=Bitmap.createBitmap(500,500, Bitmap.Config.ARGB_8888);
Canvas canvas=new Canvas(bitmap);
Paint paint_outer=new Paint();
paint_outer.setColor(Color.parseColor("#DEB887"));
paint_outer.setStrokeWidth(140);
paint_outer.setStyle(Paint.Style.STROKE);
canvas.drawCircle(250,250,150,paint_outer);
Paint paint_inner=new Paint();
ComposePathEffect pathEffect=new ComposePathEffect(new CornerPathEffect(40),new DiscretePathEffect(60f,25f));
paint_inner.setPathEffect(pathEffect);
paint_inner.setColor(Color.parseColor("#8B4513"));
paint_inner.setStrokeWidth(90);
paint_inner.setStyle(Paint.Style.STROKE);
canvas.drawCircle(250,250,150,paint_inner);
iv.setImageBitmap(bitmap);
您是否查看过PorterDuff.Mode
?我假设你的图层是静态的,一旦画出来就不能移除或移动。这是正确的还是你想要像Photoshop一样的图层?是的,我想在Photoshop中创建类似的图层。这样它们可以被添加、删除和移动?不,我唯一想做的就是添加用户在第一个布局上绘制的路径…以及第二个布局上的图像..这样第二个带有图像的布局可以位于第一个布局的顶部。绘制路径时,不要与添加的图像交叉。我不想移动或删除它们。将只有两层:路径和图像。因此,您希望路径通过图像可见吗?