【问题标题】:zoom in graphic context by a factor around a pivot value围绕枢轴值放大图形上下文
【发布时间】:2013-09-02 06:58:54
【问题描述】:

当用户在 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)

为什么?

【问题讨论】:

  • 你可以在这里发布一些代码。一般来说 CGContextTranslateCTM 和 CGContextScaleCTM 应该可以完成这项工作。你可能遗漏了什么。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多