2011-02-16 114 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);