不太喜欢分辨率和图像大小。
假设我有一个分辨率为1920x1080像素的屏幕。这是否意味着任何小于这个尺寸的图像如果我把它拉伸到这个尺寸就会失去质量?换句话说,如果我在应用程序中有一个图像视图或者网站上的一个框或者其他500x500px的东西,如果我拉伸它来适应它,任何小于它的图像都会失去质量,但500x500px及以上的图像不会失去质量?
我只看到了一堆不同的分辨率,像素每英寸等,所以我不确定如何处理所有这些。谢谢你!
这是一个有趣的问题,答案略难。由于这与任何特定的操作系统无关,我将在一般意义上回答。
拉伸图像(假设您保持长宽比)不会降低该图像的质量,但它在视觉上看起来比具有您拉伸图像的本机分辨率的图像差。拉伸图像不会减少图像中存储的数据量,因此不会损失质量。如果你拿一个1px * 1px的图像,并将其拉伸到1000 * 1000,它将有完全相同的细节,因为它在它的原生分辨率为1 * 1。它可能看起来很糟糕,但你没有失去任何质量比原来。
减小图像的物理尺寸确实会降低质量,但不会像拉伸那样在图形上看起来更差。当您缩小图像时,显示器(图形硬件)需要切割像素并平均它们,以便它可以在屏幕上显示该图像。这不会像拉伸那样影响视觉质量,但它确实会影响图像的绝对质量。
所以说,我猜你担心的是视觉质量,而不是图像质量。每英寸的像素在这个讨论中没有关系,因为这只是屏幕尺寸和分辨率的定义。你的图像在1ppi的屏幕上和1000ppi的屏幕上看起来是一样的,只是物理上大了1000倍。
为了获得最好的视觉质量,放大是一个坏主意,因为有有限的图像质量来填充额外的空间,所以你在放大后立即失去视觉质量。缩小尺寸更好,因为你不会失去视觉质量。一个50x50px的图像缩放到1x1px,看起来和一个1x1px的原生图像是一样的,但反之则不然。
对于iOS设备,当你缩小尺寸时,你还可以从设备图形硬件中获得更多的像素。如果你取一个500px * 500px的图像,并将其显示在一个250点* 250点的屏幕空间矩形的视网膜设备上,你将在屏幕上显示完整的500px * 500px质量的图像。在非视网膜设备上,你将得到屏幕上显示的图像的缩小(一半)版本。
所以回答你的问题。获得最佳图形视觉质量的方法是使图形具有您想要显示的精确像素尺寸。这样就不会因为放大而失去视觉质量也不会因为缩小而失去图像质量。有时,这需要为不同的屏幕硬件以不同的分辨率制作多组单一图像。这是获得最佳质量的代价。您需要找到适合您需要的最佳性能/质量集。
你说的几乎都是对的。任何参考物理测量(如英寸)在参考分辨率是无关的;打印机决定多少个点构成一英寸(ppi),而相同分辨率的不同尺寸的屏幕每英寸有不同的像素数。
你的问题真的是关于光栅图形;保存为像素网格的图像。如果你试图在一个20像素宽的空间上表示10个像素,它必须由10个像素组成(如果你在一个轴上添加像素而不是另一个轴,显然会有拉伸)。经验法则是,在任何方向上都不要把图片放大超过10%。一般来说,使用更压缩格式的更大的图像比拉伸更小、更高质量的图像更好(压缩保持像素的"数量",它只是使用一些偷偷摸摸的数学来更有效地存储它们,有时会导致自己的扭曲)。
我们还没有提到的一件事是"矢量"图形。这些图像本质上是"重新绘制"自己的大小,无论你需要什么。所以,如果我画一个小圆,我决定我需要一个大圆,我不会放大这个小圆(这就是数码变焦;(放大),我画一个新的,更大的圆。当然,我们经常处理的所有图像类型(jpeg, png, bmp, gif, tiff等)都是光栅图像。
我希望这对你有帮助!
附录
你可能会发现这很有用(至少在光栅部分)。记住:dpi是一英寸面积上的分辨率。这就像一个城市的"密度"是其人口在一平方英里面积上的表达。重要的是有多少人/像素,如果你需要用你没有的人来填充空间(分辨率/土地),事情就会变得奇怪。http://www.youthedesigner.com/graphic-design-tips/how-to-explain-raster-vs-vector-to-your-clients/
您使用iOS吗?你把这篇文章标记为iOS。
如果是这样,那么在iOS中你通常不会计算像素,而是计算点数。在不同的设备上,点的宽度和高度可以是1、2或3像素(retina显示点是2x2 px,在iPhone 6+上是3x3 px)。
所以如果你有1920x1080的视网膜,你应该提供3840x2160像素的图像。如果你想支持不同的类型,你应该使用更多不同大小的图片。