0

我正在尝试在某个视图中启用图像的大小调整和移动。这样做,挑战是不失去图像质量。我有一个UIImageView放置在里面UIView(我没有使用它来UIScrollView实现它,我发现它不适合这种情况)并且我正在关注UIPanGestureRecognizerandUIPinchGestureRecognizer进行拖动和缩放。

问题是当我试图在边界中重新创建新图像时UIView:如果UIImageView在边界内UIView很好,则根据CGImageCreateWithImageInRect. 但是,如果内部UIImageView小于UIView(zoom-out) 或移动了它不会覆盖整个UIView,它只会创建原始大小的图像,或者不在我想要的位置。

可行的解决方案是 renderInContext ,它可以生成图像中可见的UIView图像 - 但图像质量会大大降低。

有没有办法在不损失图像质量的情况下做到这一点?也许添加一些带有 0 alpha 的边缘,所以它会适合 的帧UIView,但适合内存需求?

4

1 回答 1

0

如果您只是更改 UIImageView 的框架,它应该根据内容模式为您处理缩放,您可能应该将其设置为 scaleToFill。不知道你为什么要搞乱 CGImage 的东西(除非你试图重新创建图像......)。

还是我误解了您要达到的目标?

于 2013-07-22T09:02:43.677 回答