C# 如何将位图粘贴到另一个位图中,并在其底部向其写入文本?
我需要的是创建一个与位图文件具有更大高度和相同宽度的新位图,将位图文件内容粘贴到新位图文件中,并在位图文件底部写入一个字符串 这是我当前的代码,我不知道如何在文件底部写入/也不知道如何将位图内容粘贴到另一个位图中,谢谢您的帮助!:C# 如何将位图粘贴到另一个位图中,并在其底部向其写入文本?,c#,graphics,bitmap,C#,Graphics,Bitmap,我需要的是创建一个与位图文件具有更大高度和相同宽度的新位图,将位图文件内容粘贴到新位图文件中,并在位图文件底部写入一个字符串 这是我当前的代码,我不知道如何在文件底部写入/也不知道如何将位图内容粘贴到另一个位图中,谢谢您的帮助!: Bitmap bmp = new Bitmap(filePathSave); RectangleF rectf = new RectangleF(0, 0, bmp.Width, bmp.Height); Graphics g = Graphics.FromIma
Bitmap bmp = new Bitmap(filePathSave);
RectangleF rectf = new RectangleF(0, 0, bmp.Width, bmp.Height);
Graphics g = Graphics.FromImage(bmp);
g.SmoothingMode = SmoothingMode.AntiAlias;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
StringFormat format = new StringFormat()
{
Alignment = StringAlignment.Center,
LineAlignment = StringAlignment.Center
};
g.DrawString("yourText", new Font("Tahoma", 20), Brushes.Black, rectf, format);
// Now save or use the bitmap
bmp.Save($"Temp/{Path.GetFileNameWithoutExtension(filePathSave)}_1.bmp", ImageFormat.Bmp);
// Flush all graphics changes to the bitmap
g.Flush();
基本上,我所做的是使用我发现的一个空白按比例调整图像大小,然后按照@TaW告诉我的做。谢谢
using (var image = Image.FromFile(filePathSave))
using (var newImage = Logic.ScaleImage(image, image.Width, image.Height + 125))
{
Bitmap destBitmap = new Bitmap(image.Width + 150, image.Height + 125, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(destBitmap);
g.SmoothingMode = SmoothingMode.AntiAlias;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
g.Clear(Color.White);
g.DrawImage(newImage, 0, 0);
g.DrawString(sneakerName, new Font("Arial", 16), Brushes.Black, 5, image.Height + y);
// Now save or use the bitmap
//g.Save();
destBitmap.Save($"{saveTo}/{Path.GetFileNameWithoutExtension(filePathSave)}.jpeg", ImageFormat.Jpeg);
// Flush all graphics changes to the bitmap
g.Flush();
}
你应该按计划去做。新位图不应是副本,而应是新的或更大的位图。然后将旧的图像拉入其中,然后做拉绳。so
新位图(filePathSave)代码>应该是新位图(newWidth、newHeight)
nad应该有一个g.DrawImage(oldBmp,0,0)代码>