我正在尝试在自定义视图中显示 myPhoto.JPG。我通过以下调整 myBox 进行缩放:
[myImage drawInRect:myBox fromRect:NSZeroRect 操作:NSCompositeSourceOver fraction:1.0];
不幸的是,当我放大到足以看到单个像素时,像素边缘是模糊的。相比之下,当我在预览中打开同一张照片时,像素边缘干净而清晰。(此外,预览中的缩放和平移更加流畅。)
对于如何在我的自定义视图中实现预览级别质量的任何想法,我将不胜感激。
在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
)