【问题标题】:Transform question: How to move image whilst zooming?变换问题:如何在缩放时移动图像?
【发布时间】:2010-09-03 10:39:57
【问题描述】:

请有人帮助我尝试进行简单的转换...

下面的代码将缩略图图像放大到填满屏幕的图像。问题是缩略图没有居中(它向右偏移),因此缩放实际上需要将图像向左移动,因为它放大了。

[fullsizeImageButton setTransform:CGAffineTransformMakeScale(.5,.5)];

[UIView beginAnimations:nil context:NULL];

[UIView setAnimationDuration:0.9]; fullsizeImageButton.transform = CGAffineTransformMakeScale(1,1);

[UIView 提交动画];

提前感谢您的帮助

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    您必须构建更复杂的转换。缩放变换将相对于当前原点 (0,0) 缩放图像,但是,您希望相对于图像的中心进行缩放。所以,你必须平移到中心,缩放并向后平移

    【讨论】:

    • 感谢您的回复。我实际上找到了另一种方法来完成此操作: [fullsizeImageButton setTransform: CGAffineTransformConcat(CGAffineTransformMakeTranslation (-400,100),CGAffineTransformMakeScale(1,1))];与您的建议相比,我不确定使用 concat 方法是否存在任何性能问题。
    • 其实和我说的差不多。但是你应用比例尺和“固定”翻译,而我建议更“经典”的解决方案,将原点移动到图像的中心。实际上,你喜欢什么都行 :) 原点技巧在大多数情况下都很有用,例如,它是围绕对象中心旋转对象的唯一正确方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    相关资源
    最近更新 更多