Текст: Καλώς ήρθατε στην επίσκεψη, шрифт Arial< /code> и размер шрифта 12.
В WinForms я использовал графику и установил для нее антиализацию.
В Android я использовал холст и краска также настроены на антиализацию
В WinForms (увеличено):
[img]https: //i.sstatic.net/5fNQQrHO.png[/img]
В Android (увеличено):
[img]https: //i.sstatic.net/VnSSWYth.png[/img]
В WinForms я установил для TextRenderingHint значение AntiAliasGridFit, а для CompositingQuality — значение по умолчанию< /code> и SmoothingMode на None
в winform:
Код: Выделить всё
Bitmap _StringBitmap = new Bitmap(4096, 64);
Font _font = new Font("Arial",12);
SolidBrush _drawBrush = new SolidBrush(Color.Black);
StringFormat _strFormat = StringFormat.GenericTypographic;
strFormat.LineAlignment = StringAlignment.Near;
strFormat.Alignment = StringAlignment.Near;
int _rectHeight = _font.Height;
Graphics _StrGraphic = Graphics.FromImage(_StringBitmap);
_StrGraphic.Clear(Color.Black);
_StrGraphic.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
_StrGraphic.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.Default;
_StrGraphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;
stringSize = _StrGraphic.MeasureString(str, _font, 4096, _strFormat);
_StrGraphic.DrawString(str, _font, Brushes.White,
new Rectangle(
0,
0,
Convert.ToInt32(Math.Ceiling(stringSize.Width)) + 1,
Convert.ToInt32(Math.Round(stringSize.Height)) + 1),
_strFormat);
Код: Выделить всё
Bitmap bmp = Bitmap.CreateBitmap(309, 36, Bitmap.Config.Argb8888);
Canvas canvas = new(bmp);
canvas.DrawColor(Color.ParseColor("#000000"));
canvas.DrawFilter = new PaintFlagsDrawFilter(0, PaintFlags.AntiAlias | PaintFlags.FilterBitmap);
Paint paint = new()
{
Color = Color.ParseColor("#ffffff"),
AntiAlias = true
};
Typeface arail = Typeface.Create("Arial", TypefaceStyle.Normal);
paint.SetTypeface(arail);
paint.TextSize = 12;
string str1 = str.Substring(start, len);
paint.FilterBitmap = true;
Rect rect1 = new();
paint.GetTextBounds(str1, 0, str1.Length, rect1);
canvas.DrawText(str1, 0, rect1.Height(), paint);
Код: Выделить всё
arail = Typeface.CreateFromAsset(Assets, "fonts/ARIALN.TTF");
Подробнее здесь: https://stackoverflow.com/questions/791 ... n-winforms