通过围绕枢轴值的因子放大图形上下文

时间:2013-09-02 06:58:55

标签: android ios android-canvas quartz-graphics cgcontext

当用户在IOS中捏住屏幕时,我试图放大我的画布。

我正在从Android(其中有效)翻译我的代码,这里有一个snift:

focusX = gestureDetector.getFocusX();
focusY = gestureDetector.getFocusY();

enter code herecanvas.scale(mScaleFactor,mScaleFactor,focusX,focusY);

我翻译的IOS代码没有给出相同的结果:

- (void)onScale:(UIPinchGestureRecognizer *)gesture
{
    if (gesture.state == UIGestureRecognizerStateBegan) {
         CGPoint endPoint = [gesture locationInView:self];
         focusX = endPoint.x;
         focusY = endPoint.y;
    }
}

CGContextTranslateCTM(UIGraphicsGetCurrentContext(), focusX, focusY);
CGContextScaleCTM(UIGraphicsGetCurrentContext(), mScaleFactor, mScaleFactor)

为什么呢?

1 个答案:

答案 0 :(得分:1)

我发现了问题,CGContextTranslateCTM是多余的。另外我还有另一个问题,Android中识别器的比例因子是相对的,而在IOS中它是绝对的。