2012-07-11 50 views
1

我想創建一個隨機生成的圖像我正在寫在objective-c中,只是希望得到一些澄清,以不同的圖像屬性和類型。 我想創建以下功能:澄清圖像屬性在objective-c

- (UIImage *)randomlyGenerateAnImage;

該函數將使用成員數據來創建一個準隨機算法生成的UIImage。

我真的很難理解UIImages,CGRects和CGContextRefs之間的關係。這是我所繪製的,我分配給UIImage的是什麼。

編輯 我試圖實時生成我的形象,這樣的:

的UIImage * newImage = [[UIImage的頁頭] 「initBlankImageWithSize(X,Y)」]。

CGContextRef * newContext =「getContextFromImage(newImage)」;

「draw on newContext ......」;

return newImage;

+0

不是你問的,但是對於'創意編碼'類型練習,你可能會發現openFrameworks(http://www.openframeworks.cc/)更容易管理,因爲很多圖形管道管道都是簡化的 – 2012-07-11 18:32:37

回答

0

對於由UIImageView充滿了UIViewController你會做

UIGraphicsBeginImageContext(self.view.frame.size); 
[sigBox.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
//drawing code that says CGContext a lot 
sigBox.image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

吸取UIImage「擁有」由UIImageView。因此,您利用由CGRect定義的CGContext,然後您可以從CGContext返回UIImage。我懷疑這個解釋有什麼更明確的,但希望代碼能做到。

0

您需要一個可以繪製的上下文。您可以通過UIGraphicsGetCurrentContext()獲取當前上下文。

您可以通過UIGraphicsGetImageFromCurrentImageContext()

CGRect創建從當前上下文的圖像就是你的視圖中的矩形。

您應該閱讀Apple的繪圖指南以獲取更多信息。