- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
问题:我有一张多页 TIFF 图像(使用 tiffutil 生成),其中包含从 256x128 像素一直到 4096x2048 像素的多个像素尺寸的相同图像。我想在 CALayer
中显示此图像,以便系统根据层的大小自动选择图像的最佳表示。目前,该层始终使用图像的 256x128 表示,无论其大小如何。
我是这样做的:我加载图像
NSImage *image = [NSImage imageNamed:@"map-multipage.tiff"];
记录 image
对象确认它包含多个具有不同像素大小的表示,但所有表示的点大小相同 (256x128)。据我所知,这就是 Apple 推荐构建多分辨率图像的方式。
NSLog(@"%@", image);
<NSImage 0x100623060 Name=map-multipage Size={256, 128} Reps=(
"NSBitmapImageRep 0x10064d330 Size={256, 128} ColorSpace=(not yet loaded) BPS=8 BPP=(not yet loaded) Pixels=256x128 Alpha=NO Planar=NO Format=(not yet loaded) CurrentBacking=nil (faulting) CGImageSource=0x10014fdb0",
"NSBitmapImageRep 0x10064e1b0 Size={256, 128} ColorSpace=(not yet loaded) BPS=8 BPP=(not yet loaded) Pixels=512x256 Alpha=NO Planar=NO Format=(not yet loaded) CurrentBacking=nil (faulting) CGImageSource=0x10014fdb0",
...
"NSBitmapImageRep 0x100530bd0 Size={256, 128} ColorSpace=(not yet loaded) BPS=8 BPP=(not yet loaded) Pixels=4096x2048 Alpha=NO Planar=NO Format=(not yet loaded) CurrentBacking=nil (faulting) CGImageSource=0x10014fdb0"
)>
然后我将 NSImage
实例直接分配给图层的 contents
属性:
self.layerView.layer.contents = image;
如前所述,结果是图层使用第一个表示 (256x128 像素) 来显示图像,而不管图层的大小(以点或像素为单位)。
当我将相同的图像分配给 NSImageView
时,它按预期工作。 ImageView 根据其大小透明地选择最佳图像表示。我希望 CALayer
会以相同的方式工作,但显然情况并非如此。任何人都可以确认 CALayer
不支持这种自动选择还是我做错了什么?
(请注意,这个问题与 HiDPI/Retina 图形没有直接关系。事实上,如果我将图层移动到 HiDPI 模式下的显示器,它确实渲染得更锐利一点,表明它现在使用第二个位图表示( 512x256 px) 用于渲染。这表明在 HiDPI 显示器上自动选择更高分辨率的工作有效,而最佳位图表示的基本选择失败。)
最佳答案
似乎 AppKit 方法 -[CALayer setContents:]
选择大小匹配的位图表示 -[contents size]
如果 contents
对象是 NSImage
。然后选择的位图按原样使用,直到再次调用 -[CALayer setContents:]
。
关于objective-c - CALayer 中多页 TIFF NSImage 的自动缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11188500/
扩展 SVG 标准以支持多个页面(又名 pageSet)的状态如何? 我看到几年前 SVG 1.2 和 SVG Print 计划慢慢停止,所以我想知道是否有人有关于 SVG future 功能的最新信
我是 PHP 的新手,在插入多个页面时使用 FPDI 有点困难。 我有一个包含 3 页的 .pdf 文件。我最终将第 1 页保存为第 3 页中的一个单独页面,并且与我的代码一起使用,但那是因为我的代码
有没有支持多页的 jQuery 画廊?我的问题是,每个页面包含不同数量的图像。我正在使用 Lightbox 2,但我看不到任何方法来配置多页画廊。我可以创建 5-6 个静态 HTML 页面,一页可以包
我正在开始使用 scrapy。我的 items.py 包含: class ParkerItem(scrapy.Item): account = scrapy.Field() m = s
我编写了一个代码来将单个 tiff 文件合并为多页 tiff。但输出最后带有空白页。如果输入文件是黑白的,但对于彩色的 .tiff 文件,代码工作正常。例如,如果我提供 100 个文件,作为输入输出,
我对 UIScrollView 中的 UITableView 有疑问。 情况是这样的: 我有一个 ListViewController,它在 UITableView 中显示一些事件。如果用户点击一个事
我想创建一个用于更改页面的按钮。我的问题是,我有一个我以前写的代码,但它不是我想要的那样工作。 代码如下: function loadingPage() { $(function () {
我希望对 1 个页面上的元素进行样式设置,并且不影响另一个页面上的相同元素。 我在每个元素上都有 class="homepage"。 有更好的方法吗? 为简单起见,这里是该页面上的 DIV。 h1.h
这是 jQuery 代码 $("#register-form").submit(function (e) { e.preventDefault(); }).validate({ rul
我的简单移动应用程序有 3 个页面,全部用 divs/data-role="page" 划分,并且位于同一文档 (.html) 中。页面加载完美,但如果我导航到第二页,按钮上的一个非常简单的单击事件将
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我是 python 新手。我目前正在研究网络抓取。任务是抓取戴尔社区 Inspiron 问题的前 5 页。我有运行并返回我需要的信息的代码。但是,我无法仅获取文本。我当前的代码返回文本 + html。
我目前正在为我已经完成的 m.file 开发一个 GUI。 GUI 将是一个具有多个页面的页面,每个页面都是一个独立的 GUI。 在主 GUI 上,用户将在具有 2 个选项的单选按钮组上进行选择。根据
我需要从我的程序中保存多页 TIFF,但它似乎是 Qt doesn't support multipage TIFF .尽管如此,我还是需要这样做。从我的程序开始执行此操作的最佳方法是什么? 到目前为
我遇到了尝试将几个多页 html 文件与 jquery mobile 链接的问题,发现使用 ajax 时,jquery mobile 不会显示完整文档,而是第一页。 我查找了问题并找到了 todd t
我是桌面应用程序开发的新手,有一个非常基本的问题。我有一个名为 MainWindow 的 WPF 窗体,我应该如何在上面设置多个页面,例如“用户管理”、“管理内容”等。 我想我有以下选择: 使用多种形
我看到了一些关于多页 tiff 的问题和一些关于压缩的问题,但没有(我看到的)将两者联系起来。 This question和我见过的一样近,让我非常接近,所以我希望如此。我进入了提到的 Oracle
我正在尝试建立一个简单的多页表单,使用 session 稍后存储在数据库中的多个表中。 然而,我似乎遇到了问题。虽然最后一页的值被发布到数据库,但 session 变量却没有。 请记住.. 我和我的项
我正在尝试构建一个多页面 Dash 应用程序。当我运行以下代码时,一切正常,除了它不会路由到我的/dash_1 或/dash_2 url。想知道是否有人可以帮助我。 我的结构是这样的: 破折号项目/
search_1=raw_input('search criteria 1? ') search_2=raw_input('search criteria 2? ') br = mechanize.B
我是一名优秀的程序员,十分优秀!