Ios6 使用MonoTouch在OxyPlot 2D库中实现真正的收缩和缩放

Ios6 使用MonoTouch在OxyPlot 2D库中实现真正的收缩和缩放,ios6,xamarin.ios,plot,core-plot,pinchzoom,Ios6,Xamarin.ios,Plot,Core Plot,Pinchzoom,为了绘制图形,我在基于MonoTouch的iPhone应用程序中使用了一段时间,但在iOS 6.0中,已经很烦人的绑定问题变得如此之多,以至于我决定放弃它,转而使用C#本机编写的库 四处搜索,我发现了优秀的,更具体地说,是由 该库工作良好,具有大量有用的功能,但其输出只是一个渲染位图图像 这意味着我需要将收缩和缩放功能添加到库中 当前的实现基于dvkwong初步示例,使用UIScrollView缩放添加到简单子视图中的位图图像 这不是一个好的解决方案,因为在缩放位图时,位图的别名是可见的,如果分

为了绘制图形,我在基于MonoTouch的iPhone应用程序中使用了一段时间,但在iOS 6.0中,已经很烦人的绑定问题变得如此之多,以至于我决定放弃它,转而使用C#本机编写的库

四处搜索,我发现了优秀的,更具体地说,是由

该库工作良好,具有大量有用的功能,但其输出只是一个渲染位图图像

这意味着我需要将收缩和缩放功能添加到库中

当前的实现基于dvkwong初步示例,使用UIScrollView缩放添加到简单子视图中的位图图像

这不是一个好的解决方案,因为在缩放位图时,位图的别名是可见的,如果分辨率增加,文本字体将变得不可读,因为它们没有针对当前缩放分辨率进行优化

我每次都需要以正确的分辨率渲染图像,而不使用UIScrollView,只需覆盖自定义UIView中的DrawRect()调用

但是,如何重现Apple UIScrollView的收缩缩放手势,并绘制OxyPlot模型的正确子矩形

我尝试实现此处建议的方法:

但它不起作用,因为我需要知道要绘制的子矩形,而不是应用变换矩阵。另外,OxyPlot库中没有“draw sub rect”方法,因此我需要在图像上下文中设置一个cliprect,首先绘制一个更大的图像,然后对其进行剪裁。这显然太慢了,因为在某些缩放级别,图像可能会变得巨大(我需要用户能够无限期地缩放图形的任何部分)

感谢您的帮助。
提前谢谢。

我自己解决了这个问题。 我已经创建了OxyPlot 2D库的另一个MonoTouch端口,这次支持平移和收缩缩放手势。我还增加了对iPad的支持。 现在我们有了一个用于MonoTouch的本地C#绘图库

您可以在麻省理工学院许可证下下载: