首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何去除图片中的白色背景?

如何去除图片中的白色背景?
EN

Stack Overflow用户
提问于 2022-08-17 10:40:44
回答 3查看 196关注 0票数 0

我要的设计:

我现在的设计是:

如何使字母恢复正常颜色?

我的代码:

代码语言:javascript
复制
Column(
                        mainAxisAlignment: MainAxisAlignment.start,
                        children: <Widget>[
                          Stack(
                            children: [
                              Image.asset(
                                'assets/images/front_Page_Image.png',
                                height: 746,
                                width: constraints.maxWidth * 0.64,
                                fit: BoxFit.cover,
                              ),
                              Image.asset(
                                'assets/images/half_circle.png',
                                color: Color.fromARGB(255, 255, 255, 255),
                                //colorBlendMode: BlendMode.srcOver,
                              )
                             
                            ],
                          ),
                        ],
                      ),
EN

回答 3

Stack Overflow用户

发布于 2022-08-17 10:58:59

对于透明的白色背景,可以使用以下颜色的不透明度。

代码语言:javascript
复制
color : Colors.white.withOpacity(0.5)

对于图像不透明度:

代码语言:javascript
复制
Container(
            child: new Text(
              'Hello world',
              style: Theme.of(context).textTheme.display4
            ),
            decoration: new BoxDecoration(
              color: const Color(0xff7c94b6),
              image: new DecorationImage(
                fit: BoxFit.cover,
                colorFilter: new ColorFilter.mode(Colors.black.withOpacity(0.2), BlendMode.dstATop),
                image: new NetworkImage(
                  'http://www.allwhitebackground.com/images/2/2582-190x190.jpg',
                ),
              ),
            ),
           ),
票数 2
EN

Stack Overflow用户

发布于 2022-08-17 11:03:55

除文本外,您要“移除背景”的图像必须是透明的。意思是您想要删除白色的,实际上是容器的背景。这意味着您可以使用类似Colors.white.withOpacity(0.3)的东西来实现透明性。

将生成此图像的完整示例:

代码语言:javascript
复制
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const HomeScreen(),
    );
  }
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          Stack(
            children: [
              Card(
                child: Image.asset('assets/this_is_fine.jpg'),
              ),
              Container(
                width: MediaQuery.of(context).size.width * 0.5,
                color: Colors.white.withOpacity(0.3),
                child: Image.asset('assets/fine_text.png'),
              )
            ],
          )
        ],
      ),
    );
  }
}
票数 1
EN

Stack Overflow用户

发布于 2022-08-17 10:44:53

我觉得你不应该把它们包在Card里。第一个Container也没有任何用途。所以就像

代码语言:javascript
复制
Column(
  mainAxisAlignment: MainAxisAlignment.start,
  children: <Widget>[
    Stack(
      children: [
        Image.asset(
          'assets/images/front_Page_Image.png',
          height: 746,
          width: constraints.maxWidth * 0.64,
          fit: BoxFit.cover,
        ),
        Container(
          alignment: Alignment.topLeft,
          child: Image.asset(
              'assets/images/half_circle.png'),
        )
      ],
    ),
  ],
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73387054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档