gpt4 book ai didi

cocoa : Scale Image dragged into an ImageWell

转载 作者:行者123 更新时间:2023-12-03 16:56:01 25 4
gpt4 key购买 nike

我正在开发应用程序来保持漫画书收藏的有序。用户应该能够通过 ImageWell 将封面艺术图像拖到程序中。

由于无法再次将图像拖出应用程序,因此我不需要将图片保存为原始大小。 ImageWell 大小的图像就可以了。

问题是如何使用我的应用程序重新缩放图像?

为了让事情变得更加复杂,ImageWell 与 Core Data 绑定(bind)在一起。因此,我需要在 Core Data 将图片保存为其原始大小之前重新缩放图像。

最佳答案

缩放图像的常用方法是分配一个具有所需较小尺寸的新NSImage,在其上lockFocus,并将原始图像绘制到 NSImage (当然,完成后unlockFocus)。从那里,您可以使用 CoreGraphics API 以各种格式序列化图像,或者,如果您的需求很简单,则可以使用 NSImage 上的 TIFFRepresentation 方法。

至于处理核心数据,我建议将您的图像保存在一个单独的实体中,并与拥有它的对象建立关系。原因是因为 Core Data 在获取时会一次性加载对象的所有数据,因此当您不需要图像数据(可能很大,即使是小图像)时,您可以避免缓慢的性能和内存压力每次获取时将其加载到内存中。您可以在主实体上放置一个 transient image 属性,以便根据需要延迟加载/存储图像。

当您的图像很好地更新了与新图像的绑定(bind)时,这将是重新缩放图像并将其存储在数据对象中的绝佳机会。也就是说,您将通过绑定(bind)将全尺寸图像传递给数据对象,并且它将处理重新缩放。

关于 cocoa : Scale Image dragged into an ImageWell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2766473/

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