创建一个填充的,居中的,缩放的NSImage

时间:2009-08-18 18:52:11

标签: cocoa nsimage

我正在使用NSImageCell将基于任意大小的图像的固定大小图标放入NSOutlineView中。

NSImageCell会很好地缩放图像,但我找不到在缩放图像周围添加填充的方法。在没有填充的情况下,这些行看起来很难看。

我解决此问题的第一步是创建一个常量大小的新图像,插入其填充边界,然后使用drawInRect:fromRect:operation:fraction:绘制原始图标的缩小版本。

这适用于方形图像。我猜想在NSImage中有一种方便的方法可以在给定的矩形中绘制一个居中的,缩放的恒定宽高比版本的图像,但我找不到它。

显然我可以用与原始图像相同的宽高比来计算合适的矩形,但我宁愿不重新发明轮子......

1 个答案:

答案 0 :(得分:2)

我看到的每个示例代码都使用填充计算。有一些 NSImage categories on CocoaDev 可以做到这一点。