左下角有一个NSImageView,红色背景。在屏幕截图中,它显示PDF文档。
我希望文档的形状以白色填充,而不是透明,红色背景会渗透到文档中。如何强制PDF不透明?
或者更一般的问题是,如何让NSImageView用纯色填充透明图像。我目前的策略是使用白色背景创建相同大小的新图像,并将原始图像绘制在顶部,然后在图像视图中使用新图像。还有更好的方法吗?
NSImage* newImage = [[NSImage alloc] initWithSize:[image size]];
[newImage lockFocus];
[[NSColor whiteColor] set];
CGRect rc = NSMakeRect(0,0,[newImage size].width, [newImage size].height);
NSRectFill(rc);
[image drawInRect:rc];
[newImage unlockFocus];
image = newImage;