1
我試圖放大在屏幕上轉換的圖像。縮放圖像是緩慢的在iPad 4代,是否有更快的辦法?
,這裏是我的drawRect:
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextSetShouldAntialias(context, NO);
CGContextScaleCTM (context, senderScale, senderScale);
[self.image drawAtPoint:CGPointMake(imgposx, imgposy)];
CGContextRestoreGState(context);
}
當senderScale
爲1.0,移動圖像(imgposx/imgposy
)非常流暢。但是,如果senderScale具有其他任何價值,性能會受到很大打擊,並且在移動時圖像會出現斷斷續續的情況。
我繪製的圖像是一個UIImage
對象。我
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, 0.0);
創建它,並繪製一個簡單UIBezierPath(stroke)
:
self.image = UIGraphicsGetImageFromCurrentImageContext();
我做錯什麼了嗎?關閉反鋸齒功能並沒有改善很多。
編輯: 我嘗試這樣做:
rectImage = CGRectMake(0, 0, self.frame.size.width * senderScale, self.frame.size.height * senderScale);
[image drawInRect:rectImage];
,但它只是作爲其他方法一樣慢。
我試圖創建一個視圖,但我無法弄清楚,我應該把翻譯和縮放代碼。 – HSNN
對於翻譯,您可以設置「框架」原點。對於更復雜的轉換使用'transform'屬性。 – ipmcc