flutter开发实战-BackdropFilter高斯模糊子Widget控件

这篇具有很好参考价值的文章主要介绍了flutter开发实战-BackdropFilter高斯模糊子Widget控件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

flutter开发实战-BackdropFilter高斯模糊子Widget。

最近开发过程中遇到需要将控件进行模糊,比如iOS的effect的模糊效果。那在flutter中就需要用到了BackdropFilter

一、BackdropFilter

BackdropFilter属性定义

BackdropFilter({Key key, 
      ImageFilter filter,
     Widget child })

其中ImageFilter的filter是必须传的,child为子控件。

ImageFilter一下两种两种构造方法

  • 设置背景高斯模糊

//构造一个设置高斯模糊的ImageFilter,sigmaX,sigmaY用来控制

//模糊度,取值范围是0-10
ImageFilter.blur({double sigmaX: 0.0, double sigmaY: 0.0 })
  • 矩阵变换
ImageFilter.matrix(
        Float64List matrix4, 
        { FilterQuality filterQuality: FilterQuality.low })

二、实现模糊效果的控件Widget

这里我们实现一个实现设置背景高斯模糊的Widget

import 'package:flutter/material.dart';
import 'dart:ui';

/// 矩形高斯模糊效果
class BlurWrapperWidget extends StatefulWidget {
  const BlurWrapperWidget({
    Key? key,
    required this.child,
    required this.sigmaX,
    required this.sigmaY,
    required this.opacity,
    this.blurMargin,
    this.borderRadius,
  }) : super(key: key);

  final Widget child;

  /// 模糊值
  final double sigmaX;
  final double sigmaY;

  /// 透明度
  final double opacity;

  /// 外边距
  final EdgeInsetsGeometry? blurMargin;

  /// 圆角
  final BorderRadius? borderRadius;

  
  _BlurWrapperWidgetState createState() => _BlurWrapperWidgetState();
}

class _BlurWrapperWidgetState extends State<BlurWrapperWidget> {
  
  Widget build(BuildContext context) {
    return Container(
      margin: widget.blurMargin != null
          ? widget.blurMargin
          : EdgeInsets.only(bottom: 0.0),
      child: ClipRRect(
        borderRadius: widget.borderRadius == null
            ? BorderRadius.only(
                topLeft: Radius.circular(10), topRight: Radius.circular(10))
            : widget.borderRadius,
        child: BackdropFilter(
          filter: ImageFilter.blur(
            sigmaX: this.widget.sigmaX != null ? this.widget.sigmaX : 10,
            sigmaY: this.widget.sigmaY != null ? this.widget.sigmaY : 10,
          ),
          child: Container(
            color: Colors.white10,
            child: this.widget.opacity != null
                ? Opacity(
                    opacity: widget.opacity,
                    child: this.widget.child,
                  )
                : this.widget.child,
          ),
        ),
      ),
    );
  }
}

三、小结

flutter开发实战-BackdropFilter高斯模糊子Widget。
最近开发过程中遇到需要将控件进行模糊,比如iOS的effect的模糊效果。那在flutter中就需要用到了BackdropFilter。

学习记录,每天不停进步。文章来源地址https://www.toymoban.com/news/detail-626735.html

到了这里,关于flutter开发实战-BackdropFilter高斯模糊子Widget控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flutter学习四:Flutter开发基础(一)Widget

    目录 0 引言 1 Widget 简介 1.1 Widget 概念 1.2 Widget 接口 1.3 Flutter中的四棵树 1.4 StatelessWidget 1.4.1 简介 1.4.2 Context上下文 1.5 StatefulWidget 1.6  State 1.6.1 简介 1.6.2 State生命周期 1.7  在 widget 树中获取State对象 1.7.1 通过Context获取 1.7.2 通过GlobalKey获取 1.8 通过 RenderObject 自定义 Wid

    2024年02月16日
    浏览(37)
  • android 车载widget小部件部分详细源码实战开发-千里马车载车机framework开发实战课程

    官网参考链接:https://developer.android.google.cn/develop/ui/views/appwidgets/overview App widgets are miniature application views that can be embedded in other applications (such as the home screen) and receive periodic updates。 通俗解释:一个能够定期刷新并且加到其他应用上的微型视图。 更多android framework干货内容请

    2024年02月09日
    浏览(38)
  • UE5 3DUI Widget 渲染模糊和重影问题

    目录 一、解决重影问题 1、创建3D widget 2、 修改材质  二、提高清晰度 1、使用锐化命令 r.Tonemapper.Sharpen 2                            (修改前)                                        (修改后) 人物是动态图片,用3DWidget在场景中播放的,人物在做眨眼

    2024年02月05日
    浏览(94)
  • Python Opencv实践 - 图像高斯滤波(高斯模糊)

         

    2024年02月12日
    浏览(31)
  • 【OpenCV Python实现图像增强:高斯模糊和运动模糊】

    【OpenCV Python实现图像增强:高斯模糊和运动模糊】 图像处理是计算机视觉领域的重要分支,它在各个领域都有广泛的应用。图像增强是其中的一个重要技术,可以帮助我们提升图像的质量和清晰度。本文将介绍如何使用Python和OpenCV库来实现两种常见的图像增强方法:高斯模

    2024年02月12日
    浏览(31)
  • Unity背景模糊图片高斯模糊高性能的实现方案

    环境: unity2021.3.x 效果: 模糊前: 模糊后: 模糊前: 模糊后: 实现核心思路(shader): github地址:高斯模糊 Github地址

    2024年04月26日
    浏览(25)
  • OpenCV实现高斯模糊加水印

    2024年02月15日
    浏览(24)
  • css增加高斯模糊的效果

    backdrop-filter 当你创造一个元素加上这个属性后,会使得这个元素后面的区域添加效果(如模糊或颜色偏移)

    2024年02月11日
    浏览(37)
  • iOS 实现图片高斯模糊效果

    效果图 用到了 UIVisualEffectView 实现代码 将 bgEffectView 盖到imageview上面即可

    2024年02月13日
    浏览(22)
  • 【Unity Shader】屏幕后处理3.0:均值模糊和高斯模糊

    发现之前学习记录的太过详细,导致整理的过程占用太长的时间了,这篇之后博客重要的是掌握实现过程,关于基础的理论会更多的放上别人写得更好的文章。 参考:【Unity Shader编程】之十五 屏幕高斯模糊(Gaussian Blur)后期特效的实现 高斯模糊只是各种模糊方式中的一种。模

    2023年04月08日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包