【问题标题】:Android draw with blurAndroid 用模糊绘制
【发布时间】:2010-12-31 02:22:58
【问题描述】:

我需要使用模糊效果在 Android 的 Canvas 上绘图, 这是一个非常简单的功能, 我需要绘制一个圆形区域,该区域是模糊的(前景)和透明的背景,我可以通过操纵颜色 alpha 来完成所有操作以使用自定义透明度来完成,但我需要它是模糊的而不是透明的。 有什么想法吗?

【问题讨论】:

    标签: android canvas draw blur


    【解决方案1】:

    (对于那些回来的人,虽然这是一个老问题)

    在您用来绘制颜色的 Paint 对象上,设置

    paint.setMaskFilter(new BlurMaskFilter(8, BlurMaskFilter.Blur.NORMAL))
    

    然后,在 Android Manifest.xml 中,设置

    android:hardwareAccelerated="false"
    

    为您的活动 (当硬件加速为真时,Blur 不起作用)

    更多解释请参考 Android BlurMaskFilter has no effect in canvas.drawOval while text is blurred

    【讨论】:

      【解决方案2】:

      如果您之后不需要对其进行操作,您可以只绘制一个缓冲区并自己逐个像素地模糊它,然后在需要绘制它时将该缓冲区blit 到屏幕上。

      或者这个:http://developer.android.com/reference/android/graphics/BlurMaskFilter.Blur.html

      【讨论】:

      • 好吧,BlurMaskFilter,不会剪切它,因为它只会模糊边缘,我需要模糊均匀分布在对象(圆圈)中,并且使用 blurmaskfilter,我只能“锐化边缘"
      【解决方案3】:

      看看这个:Android, Blur Bitmap instantly?

      我再次建议您先绘制位图。将其缩小(尝试不同的大小),然后将其缩放回原始大小(作为新的位图,或者如果您在绘制时使用硬件加速)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-07-20
        • 2019-02-01
        • 2017-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多