gpt4 book ai didi

objective-c - UIImage 使用硬边调整大小

转载 作者:可可西里 更新时间:2023-11-01 03:05:49 25 4
gpt4 key购买 nike

我需要一种调整 UIImage 大小的方法,就像在 photoshop 中使用“最近邻”重采样一样。我正在寻找一些,但我发现的一切都是关于 CoreGraphics thicks 以提高双三次重采样质量。我的应用程序中有像素风格的设计,我用像素创建了很多东西,然后用 x5 倍增器放大它(这需要很多时间,所以我什至差点为 Photoshop 编写脚本)。例如:

enter image description here > enter image description here

但我真的不需要这样的重采样结果:

enter image description here

也许有人会告诉我正确的方法。

最佳答案

当您将图像绘制到图形上下文中时,您可以将图形上下文的插值质量设置为“无”,就像这样(例如在 View 的 drawRect 方法中):

CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetInterpolationQuality(c, kCGInterpolationNone);
UIImage *image = [UIImage imageNamed:@"pixels.png"];
[image drawInRect:self.bounds];

如果您需要作为 UIImage 的结果(例如,将其分配给内置 UI 控件),您可以使用 UIGraphicsBeginImageContext 来实现(您会发现很多例子)。

另一种方法是设置 ImageView 层的 magnificationFilter 属性:

pixelatedImageView.layer.magnificationFilter = kCAFilterNearest;

这可能更快并且更节省内存,因为您不需要重新绘制图像。

关于objective-c - UIImage 使用硬边调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11386980/

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