我使用(在Windows下)以下命令
magick convert -units pixelsperinch file_in -density 600 file_out
Run Code Online (Sandbox Code Playgroud)
设置JPG图像的dpi(没有重采样,因为据我所知,dpi基本上只是一个指定像素大小的标签)。它有效,但我不明白为什么它会增加文件大小几千字节(我的图像最初为 1658 kB 到 1717 kB,增加了 59 kB),而我预计会增加(如果有的话)只是几个字节。
我是不是搞错了什么?是否可以通过命令行(也欢迎 ImageMagick 以外的工具)更改 JPG 的密度/dpi,而不增加文件大小?
预先感谢您提供任何线索。
我基本上将以下 xml 用于 Android启动屏幕:空活动windowBackground:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/background_splash</item>
</style>
Run Code Online (Sandbox Code Playgroud)
background_splash.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="@color/defaultBackground" />
</item>
<item>
<bitmap
android:src="@drawable/logo"
android:tileMode="disabled"
android:gravity="center"/>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
只要logo.png小于屏幕尺寸,就可以正常工作。如果logo.png比屏幕大,它就会超出屏幕。
我看到了 3 种解决方法,但都有缺点:
left/ right,<item但这需要 API 23+@drawable/logo异xhdpi,xxhdpi但我使用的是密度分割,当为其他设备重用 apk 时(apk 网站、“移动到新设备”-传输 apk 的应用程序等),这会破坏它ImageView,但这有明显的延迟如何正确/没有缺点地做到这一点?
android splash-screen android-layout pixel-density screen-density
我不太明白它的window.devicePixelRatio价值是什么,以及它如何决定我对该设备所需的尺寸图像(2x,3x等).
例如,在iMac 5K Retina(2015年末),我预计像素比率至少为3左右,但它实际上是2,与iPad Air和iPhone 6s相同.这是否意味着它更喜欢2x位图?3倍?
我目前正在开发一个响应式项目。我已经整理好布局,现在正在实施媒体查询。我了解宽度、设备宽度、设备像素比的概念以及物理像素和 CSS 像素之间的区别。
然而,分辨率媒体查询让我感到困惑。我发现许多非视网膜显示器的 CSS 分辨率为 96ppi 或 96dpi,而视网膜显示器的分辨率为 192ppi 或 192dpi。
这个值具体是如何计算的呢?有没有类似公式什么的?
这是我的img标签:
<img src="https://myserver.com/image?w=667&h=375 667w"
srcset="https://myserver.com/image?w=1366&h=1024 1366w 1x,
https://myserver.com/image?w=1366&h=1024&dpr=2 1366w 2x,
https://myserver.com/image?w=1366&h=1024&dpr=3 1366w 3x,
https://myserver.com/image?w=1024&h=768 1024w 1x,
https://myserver.com/image?w=1024&h=768&dpr=2 1024w 2x,
https://myserver.com/image?w=1024&h=768&dpr=3 1024w 3x,
https://myserver.com/image?w=800&h=480 800w 1x,
https://myserver.com/image?w=800&h=480&dpr=2 800w 2x,
https://myserver.com/image?w=800&h=480&dpr=3 800w 3x" sizes="100%">Run Code Online (Sandbox Code Playgroud)
我正在使用 imgix,它根据dpr查询参数以正确的像素密度返回图像。以上似乎不起作用,图像未以正确的尺寸呈现。我没有使用正确的格式吗?
我想在 SwiftUI 中显示二维码。代码生成为CGImagevia CIImage。我不想将其缩放到可用的完整尺寸,因为如果缩放因子不是整数,则 QR 模块之间可能存在模糊边界。所以我需要一种在 iOS 显示点GeometryReader和物理点之间进行转换的方法。我发现了一些关于从 a 读取屏幕比例的搜索“点击” UIView,但没有找到如何在 SwiftUI 中获取该比例。
还有一些点击只是说所有现代 iPhone 上的比例都是 3,而且由于我的目标是 iOS 15+,我想我可以放心地假设它现在始终是 3,但如果苹果将来推出更高的像素密度怎么办? ?