Dar*_*Zon 6 android android-custom-view android-layout android-canvas
想象一下,我有一个矩形图像.我怎么能创建像下一个样式?

我的意思是,将图像裁剪成圆形,添加边框,阴影和粗糙/闪耀效果.到目前为止,我只尝试使用此代码片段来裁剪图像:在Android中从位图裁剪圆形区域,但仅此而已.我不知道如何在Android中执行其余组件.
Rom*_*Guy 16
实现此效果的简单方法是使用Canvas.drawCircle()和BitmapShader:
BitmapShader s = new BitmapShader(myPhoto, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
Paint p = new Paint();
p.setShader(s);
myCanvas.drawCircle(centerX, centerY, radius, p);
Run Code Online (Sandbox Code Playgroud)
要做阴影,只需调用Paint.setShadowLayer()绘画(这只有在你将效果绘制到屏幕外Bitmap或者如果你View使用软件层 - 通过调用View.setLayerType() - 设置时才会起作用).
可以使用Paint.Style.STROKE样式(可以通过调用设置Paint.setStyle())在顶部绘制另一个圆来绘制边框.
最后,您可以通过绘制圆形,椭圆形或Path在第一个圆形顶部绘制光泽.你需要LinearGradient在你的油漆上使用着色器,你还需要剪掉光泽.您可以通过两种方式执行此操作:
Bitmap,这是我建议的,只需将油漆设置Xfermode为a new PorterDuffXfermode(PorterDuff.Mode.SRC_IN).Canvas.clipPath()设置圆形剪辑即可.请注意,这仅适用于Android 4.3的硬件加速.| 归档时间: |
|
| 查看次数: |
3670 次 |
| 最近记录: |