提供一个高分辨率可绘制 PNG 资源并让 Android 缩小该资源是否更容易?

发布于 2024-12-13 09:54:31 字数 333 浏览 0 评论 0原文

我正在寻找为 Android 应用程序中的视图组创建背景图像,但我不确定如何最好地处理该资源。

是否更容易(阅读:在大多数手机上看起来更好)简单地将资源提供为 900x570 或大约,让 Android 自动缩放它,或者在 Photoshop 中自行缩放并在 3 个可绘制的中提供这些图像 - ldpi、drawable-mdpidrawable-hdpi 文件夹?

节省的空间非常小:大约 10-20k,对我来说,简单地让 Android 自行缩放图像更有意义。

目标 API 为 2.0 以上,并且一开始就不支持平板电脑。

I'm looking to create a background image for a viewgroup in an Android app, and I'm not sure what is best to do with the asset.

Is it easier (read:looks better on most phones) to simply supply the asset as 900x570 or there abouts and let Android scale it up and down automatically, or scale it myself in Photoshop and provide these images in the 3 drawable-ldpi, drawable-mdpi, and drawable-hdpi folders?

The space saving will be so small: around 10-20k, it makes more sense to me to simply let Android scale the images itself.

The targeted API will be 2.0 upwards, and tablets aren't being supported to begin with.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

残龙傲雪 2024-12-20 09:54:31

从开发人员的角度来看,让 Android 为您缩放图像显然更容易,但在大多数手机上看起来并不更好。根据我的经验,Photoshop 的缩放算法比 Android 更好。

It is clearly easier from the developer standpoint to let Android scale the images for you, but it does not look better on most phones. Photoshop has better scaling algorithms than Android does in my experience.

欢你一世 2024-12-20 09:54:31

如果您只在drawable、drawable-ldpi、drawable-mdpi和drawable-hdpi中指定一个副本图像,android将默认为您缩放它,

但是出于性能原因,放置不同尺寸的图像是一个很好的做法

if you only specify one copy images in any of drawable, drawable-ldpi, drawable-mdpi, and drawable-hdpi, android will by default scale it for you

however it is a good practice put different size images for performance reasons

千纸鹤带着心事 2024-12-20 09:54:31

它更容易,但在性能方面有一定的代价。

如果目标密度已知,那么最好为您的图标/启动屏幕/图像编写所有所需的转换脚本,并在下次您的母版更改时忘记这一点……免费……

这是一个使用 ImageMagick 作为我的图标的示例和来自 pdf masters 的 listview 养眼之作:

#!/bin/bash
convert -transparent white ic_padlock.pdf ic_padlock.png
convert -scale 36x36 ic_padlock.png ../../res/drawable-ldpi/ic_launcher_padlock.png
convert -scale 48x48 ic_padlock.png ../../res/drawable-mdpi/ic_launcher_padlock.png
convert -scale 72x72 ic_padlock.png ../../res/drawable-hdpi/ic_launcher_padlock.png
convert -scale 24x24 ic_padlock.png ../../res/drawable-ldpi/ic_listview_padlock.png
convert -scale 32x32 ic_padlock.png ../../res/drawable-mdpi/ic_listview_padlock.png
convert -scale 48x48 ic_padlock.png ../../res/drawable-hdpi/ic_listview_padlock.png
convert -transparent white ic_padlock_ok.pdf ic_padlock_ok.png
convert -scale 36x36 ic_padlock_ok.png ../../res/drawable-ldpi/ic_listview_padlock_ok.png
convert -scale 48x48 ic_padlock_ok.png ../../res/drawable-mdpi/ic_listview_padlock_ok.png
convert -scale 72x72 ic_padlock_ok.png ../../res/drawable-hdpi/ic_listview_padlock_ok.png

您可以使用带有密度参数的 Convert 来获得最佳渲染效果:

convert -density targetdensityxtargetdensity  -transparent white splash.pdf ../../res/drawable/splash.png

It's easier but has a cost in terms of performance.

If the target density is known, it'll be better to script all the needed conversion for your icons / splashscreen / images and forget about that to the next time your masters change… at no cost…

Here is an example using ImageMagick for my icons and listview eye-candies from pdf masters:

#!/bin/bash
convert -transparent white ic_padlock.pdf ic_padlock.png
convert -scale 36x36 ic_padlock.png ../../res/drawable-ldpi/ic_launcher_padlock.png
convert -scale 48x48 ic_padlock.png ../../res/drawable-mdpi/ic_launcher_padlock.png
convert -scale 72x72 ic_padlock.png ../../res/drawable-hdpi/ic_launcher_padlock.png
convert -scale 24x24 ic_padlock.png ../../res/drawable-ldpi/ic_listview_padlock.png
convert -scale 32x32 ic_padlock.png ../../res/drawable-mdpi/ic_listview_padlock.png
convert -scale 48x48 ic_padlock.png ../../res/drawable-hdpi/ic_listview_padlock.png
convert -transparent white ic_padlock_ok.pdf ic_padlock_ok.png
convert -scale 36x36 ic_padlock_ok.png ../../res/drawable-ldpi/ic_listview_padlock_ok.png
convert -scale 48x48 ic_padlock_ok.png ../../res/drawable-mdpi/ic_listview_padlock_ok.png
convert -scale 72x72 ic_padlock_ok.png ../../res/drawable-hdpi/ic_listview_padlock_ok.png

You can use convert with a density parameter for best rendering:

convert -density targetdensityxtargetdensity  -transparent white splash.pdf ../../res/drawable/splash.png
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文