swift - 如何修复可可应用程序中 NSButton 上的模糊图像?
问题描述
我有几个 NSButton,它们的作用类似于播放器控件(播放、暂停等)。当我为它们分配图像时,该图像看起来很模糊。
let playPauseButton: NSButton = {
let btn = NSButton(frame: .zero)
let image = NSImage(named: "pauseIcon")
btn.imageScaling = NSImageScaling.scaleNone
btn.image = image
btn.setAccessibilityLabel("Pause")
btn.isBordered = false
return btn
}()
图片可在以下位置查看: https ://www.dropbox.com/s/38tvh49ikc2m4x7/Play.pdf?dl=0
这张图片是 .pdf,但我尝试了 1x、2x 和 3x 的 .png,但它看起来仍然模糊。
我还检查了这个问题: NSButton 和 NSImageView 中的图像模糊
但它也没有帮助我。
解决方案
解决方案非常简单。
打开资产目录。
选择所有模糊的资产。
按以下方式打开属性检查器:command + option + 4。
选中“保留矢量数据”复选框。
在该复选框下,查找“比例”并将其设置为“单一比例”
请注意,这仅在您的设计师将图标导出为 PDF 文件时才有效。此外,如果您只是将 .png 或 .jpg 转换为 .pdf,它将不起作用,实际的矢量图像必须导出为 .pdf。
推荐阅读
- python - Flask api 从 python shell 运行,但在 Ubuntu 上托管后不运行
- python - 使用 BS4 提取属性值
- angular - Angular 8 和 Angular cli,应用程序的“ng serve”问题,包括 moment.js 或 popper.js 模块
- reactjs - 如何修复包含大量选项的选择元素的延迟
- html - Angular 之间有什么关系
和 ShadowDOM - powershell - 运行.ps1脚本时通过参数调用多个函数
- flutter - 创建可以双向滚动的列表视图
- azure-cosmosdb - 是否可以将本体与 CosmosDB 一起使用?
- python - networkx 说我的节点比实际的少
- web - flutter-web-preview stagehead 3.3.2 不支持 dart 2.3