2014-02-26 46 views
1

我想绘制图像,使图像中的点(X0,Y0)位于固定点(通常位于屏幕的中心)。我在UIView上使用UIImage drawImageAtPoint(我必须使用旋转的和无法缩放到矩形的多个图像)。IOS:在保持固定点的同时缩放图像

这意味着左上角(X1,X2)通常不是(0,0)。

现在我想缩放图像(CGContextScaleCTM由S),但保持图像点(X0,Y0)在屏幕上的相同位置。

如果我用S按比例缩放图像,我需要改变多少(X1,X1)才能将(X0,Y0)保持在屏幕上的相同位置>?

我已经尝试了一些基于我已经使用的其他系统的转换,但没有得到任何工作。

有谁知道这个变换应该是什么?

+0

CALayer有一个anchorPoint属性(包括许多其他的东西),可能有些用处。一探究竟! https://developer.apple.com/library/mac/documentation/graphicsimaging/reference/CALayer_class/Introduction/Introduction.html虽然我应该注意到UIImageView有一个CALayer,而UIImage没有,所以你会操纵anchorPoint你的UIImageView,这可能会或可能不是你想要的。 –

回答

0

你可以做转换和缩放通常,然后做到这一点:

self.scaledImageView.center = self.view.center; //if you want the image in the center of the view 

以同样的方式,你可以将其中央添加任何视图的中心。

0

可能在UIScrollViewGestures的帮助下缩放会帮助你。看看this tutorial已经提供了指导来解决这个问题。

希望它有帮助!

相关问题