gpt4 book ai didi

IOS 绘制一个简单的图像结果使用 Xamarin C# 变得模糊

转载 作者:技术小花猫 更新时间:2023-10-29 11:16:21 24 4
gpt4 key购买 nike

我正在 Xamarin 中进行开发,我想绘制一个简单的圆圈,其中包含文本“CIRCLE”,并在 UIImageView 中显示该图像。问题是圆圈和文字显得非常模糊。我读过一些关于子像素的内容,但我认为这不是我的问题。

这是模糊的图像和代码,希望有人有一些想法:)

UIGraphics.BeginImageContext (new SizeF(150,150));
var context = UIGraphics.GetCurrentContext ();

var content = "CIRCLE";
var font = UIFont.SystemFontOfSize (16);

const float width = 150;
const float height = 150;

context.SetFillColorWithColor (UIColor.Red.CGColor);
context.FillEllipseInRect (new RectangleF (0, 0, width, height));

var contentString = new NSString (content);
var contentSize = contentString.StringSize (font);

var rect = new RectangleF (0, ((height - contentSize.Height) / 2) + 0, width, contentSize.Height);

context.SetFillColorWithColor (UIColor.White.CGColor);
new NSString (content).DrawString (rect, font, UILineBreakMode.WordWrap, UITextAlignment.Center);

var image = UIGraphics.GetImageFromCurrentImageContext ();
imageView.Image = image;

Blurry Circle

最佳答案

之所以模糊是因为它被调整了大小。该位图不是 150x150(如您创建的上下文),而是 333x317 像素。

这可能是因为 imageView 正在缩放它的图像(没有源代码)或因为像素加倍(对于视网膜显示器)。在后一种情况下,您真正​​想要使用的是:

UIGraphics.BeginImageContextWithOptions (size, false, 0);

这将(使用 0)自动为视网膜显示(或不使用)使用正确的比例因子 - 并且在所有类型的设备上看起来清晰(而不是过大)。

关于IOS 绘制一个简单的图像结果使用 Xamarin C# 变得模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15890055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com