Android Studio 更改图像资产的透明度

Posted

技术标签:

【中文标题】Android Studio 更改图像资产的透明度【英文标题】:Android Studio change transparency of Image Assets 【发布时间】:2016-08-21 15:24:40 【问题描述】:

当我在 android Studio 中使用我自己的图标作为基础创建新的“图像资源”(操作栏和选项卡图标)时,我最终得到了半透明的图标。 (Android Studio 改变原来的颜色透明度)。如何防止它并保存原始颜色? 这是下载到 Android Studio 之前的图像(纯黑色)

这是在使用图像资源下载到 Android Studio 之后,我设置了白色。它变得透明了。

【问题讨论】:

一个可以考虑的解决方案:***.com/a/62150079/7210237 类似于@Gjchoza 的回复,但是使用了另一个官方的在线工具。 【参考方案1】:

我也犯了这个愚蠢的错误……在添加图像资源时……请注意下拉菜单中的“形状”选项。选择无,以便图像在 Android Studio 中显示为透明。

【讨论】:

我没有意识到Icon Type 输入下方的区域是可滚动的,并且那里还有其他选项(包括颜色!)。谢谢 - 很好的指针【参考方案2】:

我有同样的问题,并通过 imagemagick 在转换后找到了解决方案。

convert ic_action.png -fuzz 50% -channel RGBA -fill white -opaque white ic_action.png

我们选择所有半白色并替换为纯白色。也适用于黑色:

convert ic_action.png -fuzz 50% -channel RGBA -fill black -opaque black ic_action.png

结果是:

最后还有一些技巧和窍门,如何在 bash 中将 ic_action.png 转换为一行。从项目根目录执行。

首先找到icon的所有文件:

find app/src -name "ic_action_name.png"

接下来使用xargs 获取它,名称为ICON

xargs -iICON

并获取命令:

find app/src -name "ic_action_name.png" | xargs -iICON convert ICON -fuzz 50% -channel RGBA -fill white -opaque white ICON

ic_action_name.png替换为您的图标名称,如果需要将white替换为black或其他颜色(imagemagick也支持RGB语法'#FF0000')。

【讨论】:

对于mac os xargs,使用xargs -IICON(大“I”而不是小“i”):【参考方案3】:

您可以取消选中此图标以查看背景颜色...

【讨论】:

感谢您的关注。是的,但它确实改变了图标的透明性。我更新了我的问题并添加了新的图像和描述。你也可以看到我的问题***.com/questions/36882124/… @ElamanAitymbet 好吧...你需要带背景的图标吗?我真的不明白你需要什么。 我只想使用 Image Asset.Only 将图像颜色从黑色更改为白色!但是当我在 tablayout 图标中使用它时,我发现图标颜色透明 @ElamanAitymbet 为什么不使用photoshop 或类似的其他程序更改图标背景并导入具有背景颜色的项目?或者...您可以将图标放在LinearLayour(或其他)中,然后将background Color 放在背景中的layout【参考方案4】:

在 android studio 3.0 中删除默认背景颜色的简单方法

步骤 1:在 mipmap 文件夹中选择新的图像断言 mipmap->new->图像断言

第 2 步:选择 前景标签 并将您的图标图像加载到文件位置路径中, 根据您的视图调整图像集,可用选项如(修剪,调整大小)

步骤 3:然后选择背景选项卡并从路径定位器选项卡中删除路径。 第4步:转到mipmap文件夹下的ic_lancher.xml文件, 然后删除

代码行。

第五步:对mipmap文件夹下的ic-launcher_round.xml文件做同样的操作

 <background  android :drawable="@mipmap/ic_lancher_round_background"/>

然后你可以找到没有android studio默认绿色封面背景的图标。 step_1step_2step_3 step_4

【讨论】:

【参考方案5】:

为了纠正这个不需要的 alfa,我确保 Android Studio 为这个可绘制对象创建一个 XML,比我编辑它,像这里“ic_cinema.xml”:

所以,现在我删除或编辑 alfa 参数

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:
    android:
    android:viewportWidth="24"
    android:viewportHeight="24"
    android:tint="#FFFFFF"
    android:alpha="0.8"> <!-- HERE YOU MAKE YOUR CHANGE -->
    <path
        android:fillColor="#FF000000"
        android:pathData="M18,4l2,4h-3l-2,-4h-2l2,4h-3l-2,-4H8l2,4H7L5,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V4h-4z"/>
</vector>

【讨论】:

【参考方案6】:

我没有找到配置图像资源(操作栏和选项卡图标)的方法,因此它不会生成半透明图标。

但是,如果您选择“通知图标”而不是“操作栏和选项卡图标”,则生成的图标集不是半透明的(它是不透明的)。我目前正在为我的操作栏和选项卡使用生成的图标。

另外,我发现了以下网站 https://romannurik.github.io/AndroidAssetStudio/index.html,它模仿 Image Asset Studio 并生成不透明的图标集。

【讨论】:

【参考方案7】:

感谢@Gjchoza。 this 网站帮助我创建了我所需要的漂亮图标。

甚至 Android Studio 4.0 的 Image Asset Creation 工具都无法满足我的需求。

【讨论】:

以上是关于Android Studio 更改图像资产的透明度的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试创建图像资产时,Android Studio 中不存在文件 Logo.png

如何在Android Studio中使图像中的特定颜色透明?

如何使用android studio在flutter上加载图像

透明的 EditText Android Studio

如何在android中更改位图图像颜色?

如何从图像中选择像素,并减少Android编程中该像素的不透明度