我基本上需要在CGBitmapContext
中显示UIScrollView
的图像。最终目标是渲染图像并允许以任何比例/偏移进行缩放,滚动和更新。到目前为止,我已尝试使用UIImageView
:
this.Image = new UIImage(this.bmpContext.ToImage()); // "this" being the UIImageView
这根本不会呈现任何东西,但我可能只是遗漏了一些东西。我尝试过的另一种技术是使用我Draw(CGRect)
的{{1}}调用中的当前上下文(此处不是UIView
):
UIImageView
这部分有效。它以1:1的比例正确呈现,但不会按预期呈现在(0,0),并且小于预期的大小。
我觉得必须有一种更简单的方法来做到这一点,我只想在using (CGImage image = this.bmpContext.ToImage())
{
CGContext context = UIGraphics.GetCurrentContext();
context.SaveState();
context.InterpolationQuality = CGInterpolationQuality.High;
//Translate and flip vertically to render in the right orientation
context.TranslateCTM(0, this.Frame.Height);
context.ScaleCTM(1.0f,-1.0f);
context.DrawImage(this.Frame, image);
context.RestoreState();
}
中显示图像,并且能够随时移动,捏缩放和更新视图。有没有办法实现这个目标?直接在UIScrollView
内绘制并忘记UIView
?
更新:
我在这里得到了一些东西,我使用图像大小来翻译和绘制它。它比边界或框架更加一致。这就是我所拥有的:
UIImageView
现在,这在我第一次绘制时正确呈现,但是如果我再次渲染,它只会更新屏幕的一部分。
问题是,图像以适当的大小呈现,但是被iOS认为应该限制的某种矩形剪裁。这里有什么我想念的吗?我试图扩展它,但它似乎真的卡在那里,我无法扩大它。至少我还没有成功!