是否有一种方法来创建xxhdpi, xhdpi, hdpi, mdpi和ldpi绘制从一个大规模的图像自动?例如,假设我有一个512x512的图像,我想在适当的文件夹中有这个图像的不同版本,用于Android支持的不同屏幕分辨率。


当前回答

还可以将Vector Asset Studio与可缩放矢量图形(Scalable Vector Graphics, SVG)结合使用。Android Studio将为您处理其余的工作。正如官方文件所说:

矢量资产工作室帮助您添加材质图标和导入可缩放 矢量图形(SVG)文件到你的应用程序项目作为一个绘图 资源。与栅格图像相比,矢量绘图可以降低图像的分辨率 你的应用程序的大小,并在不损失图像质量的情况下调整大小。他们 帮助您更轻松地支持不同的Android设备与变化 屏幕大小和分辨率,因为你可以显示一个矢量 都可以画出来。

我认为这是未来的方法。

其他回答

我在这个线程中使用解决方案,它很容易与插件Android Drawable Importer一起工作

如果你在MacOS上使用Android Studio,只需尝试以下步骤即可进入:

点击菜单栏Android Studio然后选择首选项或点击按钮Command +, 然后选择插件 单击浏览存储库 在搜索栏中写入Android Drawable Importer 点击安装按钮 然后重启对话框显示,重新启动Android Studio

成功安装插件后,只需单击创建新菜单,然后选择批量可绘制导入。然后点击加号按钮,也就是添加按钮,然后选择你的文件使可绘制。然后点击确定,确定绘图器已经全部完成了。

如果你不明白我说的话,可以看看学习机里的图片教程。

选项#1:只发布-xxhdpi绘制图,让Android在运行时为你对它们进行采样(缺点:只能在最近的设备上工作,其中-xxhdpi是已知的)。

选项2:使用Android Asset Studio对它们进行采样。

选项3:根据ssantos的回答,在图形编辑器中自动化这个过程。

选项4:自己编写解决方案的脚本,使用ImageMagick之类的东西。

选项#5:使用图像烘焙器

选择#5:使用图像面包师是片状的。我转换了两张图像,它就停止了。 我成功地转换了10张图片:https://nsimage.brosteins.com/

还可以将Vector Asset Studio与可缩放矢量图形(Scalable Vector Graphics, SVG)结合使用。Android Studio将为您处理其余的工作。正如官方文件所说:

矢量资产工作室帮助您添加材质图标和导入可缩放 矢量图形(SVG)文件到你的应用程序项目作为一个绘图 资源。与栅格图像相比,矢量绘图可以降低图像的分辨率 你的应用程序的大小,并在不损失图像质量的情况下调整大小。他们 帮助您更轻松地支持不同的Android设备与变化 屏幕大小和分辨率,因为你可以显示一个矢量 都可以画出来。

我认为这是未来的方法。

更新:

旧的安装插件的方式已经不工作了,但是原始插件的一个分支仍然在这里发挥作用。在手动安装插件后,您仍然可以遵循这个答案。

如果你想要快速简单的方法,请访问https://www.img-bak.in/或https://appicon.co/,他们也支持iOS。

我将试着一步一步地解释这个过程,这样任何人都能容易理解。

1. 按照ReadME中提供的手动安装插件

2. 重启android studio

3.正如你在下面的屏幕截图中看到的,这里只有一个可绘制的

4. 现在右键单击可绘制文件夹并导航到新建>批量可绘制导入

5. 现在选择“单一”的图像,你想要不同的变化绘制。

6. 现在选择原始图像的维度。如果源图像是xxhdpi,就像我的例子一样,选择“xxhdpi”作为“源分辨率”。

7. 现在按ok再ok ..然后会花几秒钟然后你会神奇地得到所有的变量。