有没有办法从大规模的图像创buildxxhdpi,xhdpi,hdpi,mdpi和ldpi drawables?
有没有办法从大规模的图像自动创buildxxhdpi,xhdpi,hdpi,mdpi和ldpi drawables? 例如,假设我有一个512×512的图像,并且我想要在适当的文件夹中为Android支持的不同屏幕分辨率提供此图像的不同版本。
选项#1:只运送-xxhdpi
drawables,让Android在运行时为你下载它们(缺点:只能在相当新的设备上工作,其中-xxhdpi
是已知的)。
选项2:使用Android Asset Studio为您缩减采样。
选项#3:根据ssantos的答案,在graphics编辑器中自动执行该过程。
选项#4:使用类似ImageMagick的东西给自己编写一个解决scheme。
我使用名为Android Drawable Importer
的Android Studio插件:
要在安装后使用它,请右键单击您的res / drawable文件夹并selectNew > Batch Drawable Import
:
然后通过+
buttonselect你的图像,并设置分辨率为xxhdpi(或任何您的源图像的分辨率)。
我将尝试以逐步的方式解释这个过程,这样对任何人来说都是很容易理解的。
1.转到设置>插件
2.在search栏中search“Android Drawable Importer”
3.默认不显示插件 ,点击"Browse"
链接在线search
4.然后安装插件,它会显示下载….有时它可能不会显示下载,所以一定要检查在Android工作室的底部,它显示下载。
5.现在重新启动android studio
6.在下面的screencap中可以看到,这里只有一个drawable
7.现在右键单击可绘制的文件夹并导航到新build>可批绘制导入
9.现在select“单一”图像,你想要不同的绘制变化。
10.现在select原始图像的尺寸。 如果原始图像是xxhdpi,就像我的情况一样,select“xxhdpi”作为“Source Resoultion”。
11.现在按OK,然后再确定..然后它将需要几秒钟,然后你会奇迹般地得到所有可绘制的variables。
使用Image Baker等在线服务。
这很简单。 上传图片并下载适用于Android和iOS的处理资源。
根据CommonsWare的答案,使用ImageMagick(转换)的bash脚本:
由于Kishan Vaghela增加了文件夹创build和参数检查
#!/bin/sh #--------------------------------------------------------------- # Given an xxhdpi image or an App Icon (launcher), this script # creates different dpis resources and the necessary folders # if they don't exist # # Place this script, as well as the source image, inside res # folder and execute it passing the image filename as argument # # Example: # ./drawables_dpis_creation.sh ic_launcher.png # OR # ./drawables_dpis_creation.sh my_cool_xxhdpi_image.png #--------------------------------------------------------------- if [ $# -eq 0 ]; then echo "No arguments supplied" else if [ -f "$1" ]; then echo " Creating different dimensions (dips) of "$1" ..." mkdir -p drawable-xxhdpi mkdir -p drawable-xhdpi mkdir -p drawable-hdpi mkdir -p drawable-mdpi if [ $1 = "ic_launcher.png" ]; then echo " App icon detected" convert ic_launcher.png -resize 144x144 drawable-xxhdpi/ic_launcher.png convert ic_launcher.png -resize 96x96 drawable-xhdpi/ic_launcher.png convert ic_launcher.png -resize 72x72 drawable-hdpi/ic_launcher.png convert ic_launcher.png -resize 48x48 drawable-mdpi/ic_launcher.png rm -i ic_launcher.png else convert $1 -resize 67% drawable-xhdpi/$1 convert $1 -resize 50% drawable-hdpi/$1 convert $1 -resize 33% drawable-mdpi/$1 mv $1 drawable-xxhdpi/$1 fi echo " Done" else echo "$1 not found." fi fi
刚刚在新的Android Studio中find了一个简单的方法:
我在Eclipse中使用了一个名为Android图标集的工具来获取标准图标,例如Launcher,ActionBar,Tab图标和通知图标。 你可以从文件 – >新build – >其他.. – > Android – > Android图标集启动它。 最好的部分是,你可以从你的电脑中select任何文件,它会自动将所有标准尺寸的图像放到你的项目目录中。
我认为Redwarp提供的工具是最好的! https://github.com/asystat/Final-Android-Resizer
发现它在这个其他问题: https : //stackoverflow.com/questions/10754523/is-there-any-tool-which-can-a-resize-png-image-into-a-image-for-ldpi-mdpi -hdp
既然这是Google的第一个结果,我也想在这里添加这个信息。
我有运气使用这个插件的Photoshop:
在这里检查
有一些工作正确命名图层和button状态。 但是,一旦你这样做,内置的macros是相当不错的。
否则,你可以在Photoshop中编写自己的macros,如果你有这方面的知识。
我写了一个Photoshop脚本从PSD文件创buildic_launcher PNG文件。 只要检查ic_launcher_exporter 。
要使用它,只需下载并使用Photoshop中的脚本。
并configuration你想要生成输出文件的位置。
不是100%自动,但我使用Photoshop操作节省了大量的时间。
例如,给定xhdpi
资产,然后我为hdpi
和mdpi
创build一个任务,分别扩大到66.66%和44.44%。 然后我运行文件夹xhdpi
上的所有图像的操作。
对于512×512的图像,您所要做的就是计算您的图像缩放比例,以实现xxhpi,xhdpi,hdpi和mdpi。
使用Android Studio Image Asset
去:
Project>res --> right click new> image asset
然后设置:
-Icon type: Launcher Icons -Asset type: Image -Path: the/path/to/your/image -Trim: No -Padding: 0% -Shape: None -Effect: None
select:下一步>完成。
Now you will have your icon in the correct resolutions.
编辑:我build议使用SVG图像来创buildvectorDrawables,然后在canvas中使用它们来调整它们的正确大小,或者干脆改变DP。
您可以从Google获取默认图标,或者创build自己的图标
Project>res --> right click new> vector asset
然后设置:
-Asset type: Local file (SVG, PSD) -Path: the/path/to/your/image -Size: check Override to keep your aspect ratio. -Chek enable auto mirroring for RTL Layout.
select:下一步>完成。
现在你将有你的图标,你将能够改变大小,颜色等。
也可以将Vector Asset Studio与可缩放vectorgraphics(SVG)结合使用。 Android Studio将为您处理剩下的事情。 正如官方文件所说:
Vector Asset Studio可帮助您添加材质图标,并将可缩放vectorgraphics(SVG)文件作为可绘制资源导入到您的应用程序项目中。 与栅格图像相比,vector绘图可以减小应用程序的大小,并resize而不会损失图像质量。 它们可以帮助您更轻松地支持具有不同屏幕尺寸和分辨率的不同Android设备,因为您可以在所有设备上显示一个可绘制的vector。
我认为这是未来的方法。
- 只需使用https://romannurik.github.io/AndroidAssetStudio/index.html 。 它可以从图像中制作一组图标,稍后可以下载一个zip文件。
- 或者在https://github.com/redwarp/9-Patch-Resizer/releases下载Windows应用程序(不需要安装)并打开一个图标。;
我通常使用assets.codly.io
它在您的浏览器本地生成资产,不上传,不下载。
- Android Parcelable – RetailerOrderActivity.java返回null
- 如何在材质devise导航抽屉中改变汉堡图标的颜色
- 在Intellij中将string从Android代码中提取到strings.xml文件的捷径是什么?
- 只读Android上的文件系统
- 如何解决“无效的资源目录名称”,资源“紧缩”
- 通过Android上的意图启动Google Maps Directions
- android studio ctrl +空格打开文档窗口
- Unicode字符不显示在TextView.setText中
- 在layout / main.xml主布局文件中的TextView中设置textColor不引用colors.xml文件。 (它想要#RRGGBB而不是@ color / text_color)