首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >视网膜显示器上的NSCursor图像

视网膜显示器上的NSCursor图像
EN

Stack Overflow用户
提问于 2012-08-18 19:57:39
回答 3查看 1.6K关注 0票数 3

我正在尝试修改默认的I-波束光标图像。我正在使用[[[NSCursor IBeamCursor] image] representations],将每个CIFilter传递给一个CIFilter,并将其添加到一个新映像中。然而,产生的光标看起来像是在渲染低分辨率的图像.

高分辨率指南说:

对于自定义游标,可以将多表示TIFF传递给NSCursor类方法initWithImage:hotSpot:

所以我希望这能奏效。此外,如果我获得原始图像和修改图像的-TIFFRepresentation,并将它们写入磁盘,它们看起来都像具有相同大小图像的多页TIFF文件。我做错什么了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-18 20:32:19

我有一个临时的解决方案:在每个图像表示上手动调用-setSize:,将像素的高度和宽度除以屏幕的比例因子。然而,这种技术似乎无法在多个屏幕上理想地工作。

票数 1
EN

Stack Overflow用户

发布于 2013-10-22 20:41:01

你说得对。我已经调试了一整天了,我很确定我已经把它搞定了。我并不是在做和你完全一样的事情(我的图像是从一个文件中加载的),但是最终结果是完全一样的。

诀窍是将多个表示图像的第一次表示设置为非视网膜大小。如果要从图像文件中加载游标,则必须采取此额外步骤来调整表示的大小以匹配。它不像你所期望的那样“开箱即用”。

我在一台带有两台显示器的机器上测试了这一点,并将窗口从视网膜显示器拖动到非视网膜显示器,显示光标的高/低分辨率图像。

票数 1
EN

Stack Overflow用户

发布于 2015-01-30 23:21:30

不久前,我遇到了一个类似的问题:我的光标是PDF格式的,它总是像一个1:1大小的像素图像一样被放大。在NSCursor:使用具有光标缩放(或视网膜)的高分辨率游标中有一个解决方案。

也许有人能用这个技巧来解决这个问题?我的猜测是创建一个大小相同的图像,但不同的CTM将其标记为相同的大小,但Retina。@jtbrandes正在做的事情可能标志着它的尺寸和非Retina的不同。所以你实际上失去了比例因子信息。如果您在提示中创建了一个带有CTM的图像,也许您可以将过滤过的图像绘制到其中,这样就可以正确地检测到它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12021812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档