2010-03-29 25 views
3

我正在製作一個iPhone應用程序,從相機加載圖像,然後用戶可以從庫中選擇第二個圖像,移動/縮放/旋轉第二個圖像,然後保存結果。我在IB中使用兩個UIImageView作爲佔位符,然後在觸摸/捏合時應用轉換。iPhone:如何使用CGContextConcatCTM正確保存轉換後的圖像?

問題出現在我必須將兩個圖像保存在一起時。我使用第一張圖像的大小的矩形並將其傳遞給UIGraphicsBeginImageContext。然後我試圖使用CGContextConcatCTM,但我不明白它是如何工作:

CGRect rect = CGRectMake(0, 0, img1.size.width, img1.size.height); // img1 from camera 
UIGraphicsBeginImageContext(rect.size); // Start drawing 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 
CGContextClearRect(ctx, rect); // Clear whole thing 
[img1 drawAtPoint:CGPointZero]; // Draw background image at 0,0 
CGContextConcatCTM(ctx, img2.transform); // Apply the transformations of the 2nd image 

但我下一步需要做什麼?什麼信息被保存在img2.transform矩陣中? CGContextConcatCTM的文檔對我來說並沒有多大的幫助。 現在我試圖通過使用三角函數(在this answer的幫助下)計算點和角度來解決它,但是由於轉換已經存在,做一個更容易,更優雅的方式來做到這一點,對嗎?

+0

我想問題是,Quartz應用從左上角轉換:/我仍然不知道如何解決它。 – kubbing 2011-11-14 14:10:10

回答

相關問題