gpt4 book ai didi

.net - DrawImage 中的灰色边框 (.NET system.drawing.drawing2D)

转载 作者:行者123 更新时间:2023-12-05 07:03:53 25 4
gpt4 key购买 nike

我正在尝试使用 C# 在位图上创建图像。它总是以某种方式在图像的所有边上添加灰色边框。许多问题都与解决方案一起发布,我几乎尝试了所有问题,但没有一个有效。

我正在使用的代码:

Bitmap appearance = new Bitmap(490, 196, PixelFormat.Format32bppArgb);

using (Graphics graphics = Graphics.FromImage(appearance))
{
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.PixelOffsetMode = PixelOffsetMode.Half;
graphics.CompositingMode = CompositingMode.SourceCopy;

using (ImageAttributes wrapMode = new ImageAttributes())
{
wrapMode.SetWrapMode(WrapMode.TileFlipXY);
Rectangle destination = new Rectangle(5, 99, 240, 94);
graphics.DrawImage(img, destination, 0, 0, img.Width, img.Height, GraphicsUnit.Pixel, wrapMode);
}
}

appearance.Save("F:\\SignatureAppearance.jpeg");

谁能帮帮我?缩小时灰色边框不显示,但当开始放大时,边框开始出现。

enter image description here

任何帮助将不胜感激

我试图创建一个白色背景的图像,即使它有右边框和底边框。

Bitmap appearance = new Bitmap(490, 196, PixelFormat.Format32bppArgb);
using (Graphics graphics = Graphics.FromImage(appearance)) {
// graphics.Clear(Color.White);
Rectangle ImageSize = new Rectangle(0, 0, 490, 196);
graphics.FillRectangle(Brushes.White, ImageSize); }
appearance.Save("F:\\Signature_Appearance.png", ImageFormat.Png);

enter image description here

最佳答案

问题似乎是您没有指定保存格式,PixelFormat.Format32bppArgb 图像的默认保存格式是 PNG。您路径上的文件扩展名将被忽略。

您需要将最后一行更改为

appearance.Save(@"F:\SignatureAppearance.jpeg", ImageFormat.Jpeg);

实际获得 JPEG 输出。

此外,您可能没有填充您创建的整个 Bitmap,除非您的示例中省略了该代码。为确保白色背景,您需要用白色填充任何未定义的像素,因为透明像素在 JPEG 编码器中被映射为黑色。您上面的代码片段仅显示定义了图像的 destination 子区域。您可以通过插入来填充缺失区域

graphics.Clear(Color.White);

在绘制子矩形之前。

关于.net - DrawImage 中的灰色边框 (.NET system.drawing.drawing2D),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63087257/

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