gpt4 book ai didi

cocoa - 如何创建自定义 NSView 的缩小版本

转载 作者:行者123 更新时间:2023-12-03 17:42:45 25 4
gpt4 key购买 nike

我构建了一个自定义 View 组件,用于显示事件时间线。该组件是由 NSView 的几个自定义子类构建的,每个子类都实现时间线中事件的特定视觉方面。大多数类通过现有 Cocoa 组件(通过 initWithFrame 方法添加)和一些自定义绘图(通过 drawRect 方法)的组合来显示自身。

时间线 - 由于其大小 - 包裹在 NSScrollView 中,允许用户水平滚动时间线。时间轴将其帧的坐标系映射到显示的事件,因此长时间运行的事件会占用更多的像素空间。

这一切都很好。但是,我现在想添加一项功能,显示真实时间线缩小版本的 View - 与缩小图像的效果相当,缩小图像时会丢失细节。

是否有可能以某种方式将在一个 View 中完成的绘图“回显”到另一个 View ,即原始 View 的缩小版本/副本?

最佳答案

如果您想回显较大的时间线并简单地调整其大小......

NSView 有:

- (NSData *)dataWithPDFInsideRect:(NSRect)aRect

将较大 View 的 NSRect 传递给快照。

然后,创建一个 NSImage:

- (id)initWithData:(NSData *)data

然后调用setSize并将其放入NSImageView中。

关于cocoa - 如何创建自定义 NSView 的缩小版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8073917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com