我有一个 UIImage,它是山区景观的图像。我需要通过将现场相应的 2-3 个像素变为红色来显示此图像上的位置。我该如何做到这一点?谢谢!
问问题
1605 次
1 回答
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();
您还应该注意图像的方向。这是一些关于它的好文章。
于 2013-03-01T07:58:49.020 回答