2011-02-16 152 views
1

我目前正在将图像嵌入到导出的SVG文档中,并且遇到了UIView上的转换矩阵问题,该问题正在缩放和移动。 我目前输出推动矩阵到属性变换
UIView转换为SVG矩阵

transform="matrix(view.transform.a, view.transform.b, view.transform.c, view.transform.d, view.transform.tx, view.transform.ty)" 

这一切工作与转型的tx和ty值的异常完美的罚款。出于某种原因,当我缩放视图时,这些值开始变得很奇怪,我不确定发生了什么。显然,核心图形处理矩阵与svg有点不同,但有谁知道它有什么不同?

+0

似乎有不从,从我CoreGraphics中的经验不同,SVG规范任何明显;是否有可能提供一些截图?您可能无法将自己作为新成员加入内联,但如果您可以提供某些网址,那么我可以为您做。 – Tommy 2011-02-16 20:38:39

回答

3

它看起来像CoreGraphics设置变换,以便矢量在视图的中心,而在SVG中矢量将位于图像的左上角。
乘以变换解决了这个对我来说:

// create an offset matrix<br /> 
CGAffineTransform offset1 = CGAffineTransformMake(1, 0, 0, 1, -originalViewWidth/2, -originalViewHeight/2); 
CGAffineTransform offset2 = CGAffineTransformMake(1, 0, 0, 1, originalViewWidth/2, originalViewHeight/2); 
CGAffineTransform matrix = CGAffineTransformConcat(offset1, view.transform); 
matrix = CGAffineTransformConcat(matrix, offset2);