我一直在使用这里的代码向我的 UIImage 添加一些文本,但是图像的质量变得非常糟糕。我已经将代码缩小了很多,为此:
public UIImage EditImage(UIImage myImage)
{
using (CGBitmapContext ctx = new CGBitmapContext(IntPtr.Zero, 75, 75, 8, 4 * 75, CGColorSpace.CreateDeviceRGB(), CGImageAlphaInfo.PremultipliedFirst))
{
ctx.DrawImage(new CGRect(0, 0, 75, 75), myImage.CGImage);
return UIImage.FromImage(ctx.ToImage());
}
}
MyImage 是 PNG 图像。我已经像这样添加了它们:
- MyImage.png(100x100 像素)
- MyImage@2.png (150x150 像素)
- MyImage@3.png (200x200 像素)
我不确定使用的是哪一个,但是当我在运行时检查图像时,大小为 75x75 nint(本机 int)。这就是我将 CGBitmapContext 高度和宽度设置为 75 的原因。
我的问题是,通过此功能处理 myImage 后,质量变得很差。如果我跳过此过程并仅使用 myImage 质量非常好,但是我需要 CGBitmapContext 向图像添加一些文本。
有谁知道是什么导致它质量不好,以及我该如何解决?作为记录,我正在 iPhone 6S 上进行测试。