Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios4 任何禁用CALayer'的方法;objective-c/iPhone/iOS SDK中的s光栅化缩放插值/抗锯齿?_Ios4_Core Graphics_Calayer_Quartz Graphics_Quartz 2d - Fatal编程技术网

Ios4 任何禁用CALayer'的方法;objective-c/iPhone/iOS SDK中的s光栅化缩放插值/抗锯齿?

Ios4 任何禁用CALayer'的方法;objective-c/iPhone/iOS SDK中的s光栅化缩放插值/抗锯齿?,ios4,core-graphics,calayer,quartz-graphics,quartz-2d,Ios4,Core Graphics,Calayer,Quartz Graphics,Quartz 2d,当设置myLayer.rasterizationScale=0.01和myLayer.shouldRasterize=YES时,我想消除任何插值/抗锯齿/etc 例如: 以下是我正在尝试的代码: 对于无插值,请将图层的放大过滤器特性设置为KCAFilterArest。如果需要,还可以设置minificationFilter 此外,您不应该在-drawRect:方法中设置层的属性。相反,在初始化视图时或当您想更改图层内容时,请初始化图层属性。我发现接受的答案不正确,而我的答案是正确的,特别是考虑到

当设置
myLayer.rasterizationScale=0.01
myLayer.shouldRasterize=YES时,我想消除任何插值/抗锯齿/etc

例如:

以下是我正在尝试的代码:
对于无插值,请将图层的放大过滤器特性设置为KCAFilterArest。如果需要,还可以设置minificationFilter


此外,您不应该在-drawRect:方法中设置层的属性。相反,在初始化视图时或当您想更改图层内容时,请初始化图层属性。

我发现接受的答案不正确,而我的答案是正确的,特别是考虑到我没有要点和问题的模糊性。抱歉;你的回答肯定是正确的,如果我被允许删除我的,我会的。唉,我只能投一票。@KevinPackard修复了,很抱歉我花了将近4年的时间。 - (void)drawRect:(CGRect)rect { CGContextRef ctx = UIGraphicsGetCurrentContext(); CALayer *sourceLayer = self.delegate.sourceImageView.layer; sourceLayer.rasterizationScale = 0.01; sourceLayer.shouldRasterize = YES; [sourceLayer renderInContext:ctx]; CGContextSetShouldAntialias(ctx, NO); CGContextSetAllowsAntialiasing(ctx, NO); CGContextSetInterpolationQuality(ctx, kCGInterpolationNone); }
- (void)drawRect:(CGRect)rect
{
  CGContextRef ctx = UIGraphicsGetCurrentContext();
  CGContextSetShouldAntialias(ctx, NO);
  CGContextSetAllowsAntialiasing(ctx, NO);
  CGContextSetInterpolationQuality(ctx, kCGInterpolationNone);
  CALayer *layer = [CALayer layer];
  layer.contents = (id)[UIImage imageNamed:@"test.jpg"].CGImage;
  layer.frame = CGRectMake(0, 0, 320, 411);
  layer.rasterizationScale = 0.0001;
  layer.shouldRasterize = YES;
  layer.geometryFlipped = NO;
  layer.edgeAntialiasingMask = 0;
  layer.minificationFilter = kCAFilterNearest;
  [layer renderInContext:ctx];
}