0

我有一个 UIImage,它是山区景观的图像。我需要通过将现场相应的 2-3 个像素变为红色来显示此图像上的位置。我该如何做到这一点?谢谢!

4

1 回答 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 回答