[英]UIImage bad quality in iOS Xamarin
我一直在這里使用代碼向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圖像。 我已經像這樣添加了它們:
我不確定使用的是哪一種,但是在運行時檢查圖像時,大小為75x75 nint(本機int)。 這就是為什么我將CGBitmapContext的高度和寬度設置為75的原因。
我的問題是通過此函數處理myImage后,質量會變得很差。 如果我跳過此過程而僅使用myImage,則質量非常好,但是我需要CGBitmapContext將一些文本添加到圖像。
有誰知道導致質量下降的原因,以及如何解決? 作為記錄,我正在iPhone 6S上進行測試。
您有多種誤解。
讓我們從圖像尺寸開始。 如果您的基本圖像為100x100,則@ 2x版本應為200x200,因為它是分辨率的兩倍。 按照此架構,您的@ 3x應該為300x300。 操作系統將根據設備的功能選擇合適的操作系統。 對於6S,取決於您如何加載圖像,它應該為@ 2x。
讓我們繼續創建CGBitmapContext的方式。 代碼源完全包含您所需要的內容,但是您更改了它以固定值,現在想知道為什么圖像為75x75。 糟糕的質量是由此而來的,因為系統現在正在調整原始圖像的大小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.