如何在Android中实现羽化效果?

如何在Android中实现羽化效果?,第1张

概述我正在尝试创建一个椭圆形位图,我需要在边缘周围获得羽毛效果,有谁有任何想法我怎么能做到这一点?谢谢.解决方法:您可以将’羽毛效果’视为渐变渐变,alpha衰落从100%到0%.Android为此提供了RadialGradient类.您将需要使用构造函数来指定radient的控制点,因为您希望渐变在边缘附近开

我正在尝试创建一个椭圆形位图,我需要在边缘周围获得羽毛效果,

有谁有任何想法我怎么能做到这一点?

谢谢.

解决方法:

您可以将’羽毛效果’视为渐变渐变,Alpha衰落从100%到0%.

Android为此提供了RadialGradient类.您将需要使用构造函数来指定radIEnt的控制点,因为您希望渐变在边缘附近开始,而不是在中间.

AndroID的RadialGradIEnt类的一个问题是它只支持完美的圆圈,而不是椭圆形.为了弥补这一点,我们将绘制一个完美的圆形并随后进行缩放.

示例代码:

    private Bitmap makeFeatheredoval(int wIDth, int height) {         // Determine largest dimension, use for rectangle.        int size = Math.max( wIDth, height);        RadialGradIEnt gradIEnt = new RadialGradIEnt(size / 2, size / 2, size / 2,             new int[] {0xFFFFFFFF, 0xFFFFFFFF, 0x00FFFFFF},            new float[] {0.0f, 0.8f, 1.0f},             androID.graphics.Shader.TileMode.CLAMP);         Paint paint = new Paint();         paint.setShader(gradIEnt);         Bitmap bitmap = Bitmap.createBitmap(size, size, Config.ARGB_8888);         Canvas canvas = new Canvas(bitmap);         canvas.drawCircle(size / 2, size / 2, size / 2, paint);        // Scale the bitmap, creating an oval        bitmap = Bitmap.createScaledBitmap(bitmap, wIDth, height, true);        return bitmap;     }

示例图像(它是左上角的椭圆形“月亮”):

识别背景图像的每个人的奖励积分.

总结

以上是内存溢出为你收集整理的如何在Android中实现羽化效果?全部内容,希望文章能够帮你解决如何在Android中实现羽化效果?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1115449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存