我正在尝试将颜色填充应用于MKAnnotation。我发现一些代码几乎可以工作,但由于某种原因填充的图像在应用填充后颠倒了。
以下是我在地图图钉上运行的当前代码。
CGRect rect = CGRectMake(0, 0, self.image.size.width, self.image.size.height);
UIGraphicsBeginImageContext(self.image.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextClipToMask(context, rect, self.image.CGImage);
CGContextSetFillColorWithColor(context, [[UIColor grayColor] CGColor]);
CGContextFillRect(context, rect);
CGContextRotateCTM(context, 90);
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImage *flippedImage = [UIImage imageWithCGImage:img.CGImage
scale:1.0 orientation:self.image.imageOrientation];
self.image = flippedImage;
此代码运行后,这是引脚的样子。
我在想,如果我将当前的图像方向应用于flippedImage,那将会起到作用但不起作用。我也尝试设置self.image = img;
并完全删除flippedImage var但结果仍然相同。
答案 0 :(得分:6)
CGContext坐标系相对于UIView坐标系垂直翻转。 就像这样翻转它: CGContextTranslateCTM(ctx,0,imageHeight); CGContextScaleCTM(ctx,1,-1);