【问题标题】:Scaled live iPhone Camera view in center, "CGAffineTransformTranslate" not working在中心缩放实时 iPhone 相机视图,“CGAffineTransformTranslate”不起作用
【发布时间】:2011-01-03 18:42:48
【问题描述】:

我有一个我无法解决的小问题。我真的希望有人可以帮助我。我想调整实时摄像机视图的大小并将其放置在中心,使用以下代码:

    picker.cameraViewTransform = CGAffineTransformScale(picker.cameraViewTransform, 0.5, 0.56206);
    picker.cameraViewTransform = CGAffineTransformTranslate(picker.cameraViewTransform, 80, 120);

但我得到的只是屏幕左上角 1/2 大小的视图。似乎“CGAffineTransformTranslate”什么也没做。即使我使用了翻译也不起作用:

     picker.cameraViewTransform = CGAffineTransformMake(1, 0, 0, 1, 80, 120);

翻译部分似乎对实时摄像机视图没有影响。 希望有人能不吝赐教。

谢谢。

【问题讨论】:

  • 我看到了同样的行为。
  • 我也是。不知道解决办法。
  • 这似乎已在较新的 iOS 中得到修复。我不确定他们什么时候修补的。

标签: iphone live scale preview translate


【解决方案1】:

我一直在努力解决同样的问题。我已经确认缩放和旋转预览有效,但翻译似乎被忽略了。我推测在设置转换时会忽略 CGAffineTransform 的 tx、ty 部分。这适用于 iPhone OS v3.1.2。我目前没有其他操作系统版本可供测试。

【讨论】:

    【解决方案2】:

    我得到了解决方案。 必须在消息上设置:

    - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
    

    示例代码:

    #pragma mark -
    #pragma mark UINavigationControllerDelegate
    - (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
    {   
        CGFloat width = [[self view] bounds].size.width;
        CGFloat height = width/4*3;
        CGSize sizeOfCamera = CGSizeMake(width, height);
        CGAffineTransform t = CGAffineTransformMakeScale(0.5, 0.5);
        [picker setCameraViewTransform:t];
    
        // Now the image is automatically aligned to center.
        // Translation matrix also can be applied, but didn't use because it's already aligned to center.
    }
    

    【讨论】:

    • 您当然可以尝试添加翻译,但它会被忽略,就像在原始问题中一样。
    【解决方案3】:

    我在同一条船上。我所做的是物理移动选择器框架。

    [picker.view setFrame:CGRectMake(xOffset,yOffset,picker.view.frame.size.width,picker.view.frame.size.height)];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-18
      • 1970-01-01
      相关资源
      最近更新 更多