2013-03-01 2 views

ответ

4

Вы можете нарисовать изображение в графическом контексте, как это:

CGRect imageRect = CGRectMake(0, 0, width, height); 
UIGraphicsBeginImageContext(size); 
CGContextRef context = UIGraphicsGetCurrentContext(); 
//Save current status of graphics context 
CGContextSaveGState(context); 
CGContextDrawImage(context, imageRect, image.CGImage); 

А потом просто нарисовать точку на ней, где вы хотите, как это:

//CGContextFillRect(context, CGRectMake(x,y,1,1)); 
//Fix error according to @gsempe's comment 
CGContextFillRect(context, CGRectMake(x,y,1./(image.scale),1./(image.scale))) 

Тогда просто сохранить его UIImage снова:

CGContextRestoreGState(context); 
UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); 

Вы также должны заботиться о ориентации изображения. Here - хорошая статья.

+0

Этот код нарисовал прямоугольник размера {2,2} на экране сетчатки. Чтобы нарисовать только одну точку, вы должны вызвать CGContextFillRect (контекст, CGRectMake (x, y, 1 ./ (image.scale), 1 ./ (image.scale))) – gsempe

+0

Где мы устанавливаем новый цвет для пикселя? пожалуйста, объясни. –

+0

@AvinashJadhav вызов CGContextFillRect делает это. Рисует прямоугольник размером 1x1 at (x, y) – folex

Смежные вопросы