gpt4 book ai didi

ios - 如何在 iOS 中绘制没有抗锯齿/插值的位图?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:16 27 4
gpt4 key购买 nike

我正在尝试像这样以编程方式绘制到 UIImage 中:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

UIGraphicsBeginImageContextWithOptions(CGSizeMake(2, 2), YES, 1);

CGContextRef context = UIGraphicsGetCurrentContext();

// These three lines of code apparently do nothing.
CGContextSetInterpolationQuality(context, kCGInterpolationNone);
CGContextSetAllowsAntialiasing(context, false);
CGContextSetShouldAntialias(context, false);

CGContextSetFillColorWithColor(context, [UIColor colorWithRed:1 green:0 blue:0 alpha:1].CGColor);
CGContextFillRect(context, CGRectMake(0, 0, 1, 1));

self.imageView.image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();
}

除了生成的图像非常柔和外,此代码有效,这显然是由于积极尝试抗锯齿/插值。我需要使用最近邻插值来缩放图像。如何防止这种抗锯齿现象?

谢谢!

最佳答案

虽然您绘制到上下文中的图像不使用抗锯齿(即使它实际上对您正在绘制的特定图像没有影响),您仍然可以从图像中获得默认的插值行为查看

要改变它,调整 View 层的 magnificationFilter/minificationFilter 属性:

self.imageView.layer.magnificationFilter = kCAFilterNearest;
self.imageView.layer.minificationFilter = kCAFilterNearest;

(你需要添加 QuartzCore 框架才能工作。)

关于ios - 如何在 iOS 中绘制没有抗锯齿/插值的位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16552072/

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