2

我正在尝试在自定义视图中显示 myPhoto.JPG。我通过以下调整 myBox 进行缩放:

[myImage drawInRect:myBox fromRect:NSZeroRect 操作:NSCompositeSourceOver fraction:1.0];

不幸的是,当我放大到足以看到单个像素时,像素边缘是模糊的。相比之下,当我在预览中打开同一张照片时,像素边缘干净而清晰。(此外,预览中的缩放和平移更加流畅。)

对于如何在我的自定义视图中实现预览级别质量的任何想法,我将不胜感激。

4

1 回答 1

1

drawRect:替换行

[myImage drawInRect:myBox fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];

这些行:

NSGraphicsContext *currentContext = [NSGraphicsContext currentContext];
NSImageInterpolation currentValue = [currentContext imageInterpolation];
[currentContext setImageInterpolation:NSImageInterpolationNone];
    [myImage drawInRect:myBox fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
[currentContext setImageInterpolation:currentValue];   // restore the old value

(请参阅setImageInterpolation:in的文档NSGraphicsContext

于 2012-10-30T08:20:28.993 回答