返回

Flutter图片组件Image:从基础到圆形图片渲染

前端

在Flutter中,Image组件是用于展示图片的常用Widget。它支持多种图片格式,包括PNG、JPEG和GIF。Image组件可以从本地加载图片,也可以从网络加载图片。

加载本地图片

要加载本地图片,可以使用Image.asset()构造函数。Image.asset()构造函数的参数是一个字符串,该字符串指定要加载的图片的路径。例如,以下代码加载了名为"image.png"的本地图片:

Image.asset('assets/images/image.png'),

加载网络图片

要加载网络图片,可以使用Image.network()构造函数。Image.network()构造函数的参数是一个字符串,该字符串指定要加载的图片的URL。例如,以下代码加载了名为"image.png"的网络图片:

Image.network('https://example.com/images/image.png'),

设置圆形图片

要设置圆形图片,可以使用Container组件结合Decoration、BorderRadius、Border、CircleBorder和RoundedRectangleBorder等属性。

第一种方式:使用Container组件

Container(
  width: 100.0,
  height: 100.0,
  decoration: BoxDecoration(
    shape: BoxShape.circle,
    image: DecorationImage(
      image: AssetImage('assets/images/image.png'),
      fit: BoxFit.cover,
    ),
  ),
),

第二种方式:使用BorderRadius属性

Image(
  image: AssetImage('assets/images/image.png'),
  width: 100.0,
  height: 100.0,
  borderRadius: BorderRadius.circular(50.0),
),

第三种方式:使用Border属性

Image(
  image: AssetImage('assets/images/image.png'),
  width: 100.0,
  height: 100.0,
  border: Border.all(
    width: 2.0,
    color: Colors.red,
    style: BorderStyle.solid,
  ),
  borderRadius: BorderRadius.circular(50.0),
),

第四种方式:使用CircleBorder属性

Image(
  image: AssetImage('assets/images/image.png'),
  width: 100.0,
  height: 100.0,
  border: Border.all(
    width: 2.0,
    color: Colors.red,
    style: BorderStyle.solid,
  ),
  shape: BoxShape.circle,
),

第五种方式:使用RoundedRectangleBorder属性

Image(
  image: AssetImage('assets/images/image.png'),
  width: 100.0,
  height: 100.0,
  borderRadius: BorderRadius.circular(50.0),
  border: Border.all(
    width: 2.0,
    color: Colors.red,
    style: BorderStyle.solid,
  ),
),

总结

Image组件是Flutter中用于展示图片的常用Widget。它支持多种图片格式,包括PNG、JPEG和GIF。Image组件可以从本地加载图片,也可以从网络加载图片。通过使用Container组件结合Decoration、BorderRadius、Border、CircleBorder和RoundedRectangleBorder等属性,可以轻松实现圆形图片的渲染。