我一直在使用the code from here添加一些文字到我的UIImage,但圖像質量變得非常糟糕。我已經縮減了很多代碼,至此:UIImage iOS中的質量差Xamarin
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像素),
- [email protected](150×150像素)
- [email protected](200x200像素)
我不太確定它們中的哪一個被使用,但是當我在運行時檢查圖像時,尺寸是75x75 nint(native int)。這就是爲什麼我設置CGBitmapContext的高度和寬度爲75.
我的問題是,通過此功能處理myImage後,質量變得非常差。如果我跳過這個過程,只使用myImage,質量非常好,但是我需要CGBitmapContext來爲圖像添加一些文本。
有沒有人有任何想法是什麼原因導致它質量差,我怎麼能解決它?爲了記錄,我正在測試iPhone 6S。
感謝您的回答。 我看到我可能在圖像大小上犯了一個錯誤,但是這與我的情況有關嗎?我的應用程序是否正在讀取我的100x100圖像,因此預計會出現200x200的圖像,或者在設備使用原始(@ 1x)時,我的@ 2x圖像是否會在屏幕上看起來更小?另外,只要我調整大小,質量不應該像我的代碼那樣糟糕。我找到了一個我忘記發佈的解決方法,即使調整大小,圖像現在也顯着更好。 – mathkid91