gpt4 book ai didi

asp.net - 使用 DrawString-Method (ASP.NET) 渲染图像的效果很丑陋

转载 作者:行者123 更新时间:2023-12-02 16:50:43 24 4
gpt4 key购买 nike

我想在 ASP.NET 中将一些文本呈现为图像。它运行良好,但即使我通过更改图形 TextRenderingHint 选项打开 AntiAlias(或 ClearType),文本也会呈现非常难看(文本周围有灰色像素)。

相关代码如下:

    float width;
float height;

System.Drawing.Text.PrivateFontCollection fontcollection = new System.Drawing.Text.PrivateFontCollection();
// Add the custom font families
fontcollection.AddFontFile(Server.MapPath("./Fonts/" + fontfile));


Bitmap image = new Bitmap(10, 10);
Graphics graphic = Graphics.FromImage(image);
Font font = new Font(fontcollection.Families.First(), fontsize, style);

SizeF size = graphic.MeasureString(text, font);
width = size.Width;
height = size.Height;

image = new Bitmap(Convert.ToInt32(width), Convert.ToInt32(height));
graphic = Graphics.FromImage(image);
graphic.FillRectangle(new SolidBrush(Color.White), 0, 0, width, height);

graphic.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
graphic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Bicubic;
graphic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
graphic.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;

graphic.DrawString(text, font, Brushes.Black, new PointF(0, 0));

Response.ContentType = "image/jpeg";
image.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

这里是生成图像的链接(缩放):

enter image description here

未缩放的图像:

enter image description here

我该如何解决这个问题?

最佳答案

将图像格式设置为 PNG。

默认的 JPEG 压缩没有用。

关于asp.net - 使用 DrawString-Method (ASP.NET) 渲染图像的效果很丑陋,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4144487/

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