creating and drawing on a new UIImage

creating and drawing on a new UIImage

February 23, 2009

Someone asked me how to create a new image and draw another UIImage on it. Here’s the public answer, so everyone can benefit ;)

 

You can make a new image with using core graphics, but there is group of higher level functions in UIKit that are a lot easier to use. For more information please check out the UIKit Function Reference section in the iPhone SDK docs.

This snippet creates a new image context, draws the input image on it and converts the image context to a UIImage. Note that the maximum size of the new image is 1024×1024 due to graphics limitations of the iPhone.

	CGFloat width, height;		// max 1024 due to Core Graphics limitations

	UIImage *
inputImage;		// input image to be composited over new image as example

 
	// create a new bitmap image context

	//

	UIGraphicsBeginImageContext(
CGSizeMake(
width, height)
)
;		
 
	// get context

	//

	CGContextRef context =
 UIGraphicsGetCurrentContext(
)
;		
 
	// push context to make it current 

	// (need to do this manually because we are not drawing in a UIView)

	//

	UIGraphicsPushContext(
context)
;								
 
	// drawing code comes here- look at CGContext reference

	// for available operations

	//

	// this example draws the inputImage into the context

	//

	[
inputImage drawInRect:
CGRectMake(
0
, 0
, width, height)
]
;
 
 
	// pop context 

	//

	UIGraphicsPopContext(
)
;								
 
	// get a UIImage from the image context- enjoy!!!

	//

	UIImage *
outputImage =
 UIGraphicsGetImageFromCurrentImageContext(
)
;
 
	// clean up drawing environment

	//

	UIGraphicsEndImageContext(
)
;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值