首页 > 解决方案 > 如何将位图粘贴到另一个位图并在其底部写入文本?

问题描述

我需要的是创建一个具有更大高度和相同宽度的位图文件的新位图,将位图文件内容粘贴到新位图文件中,并在位图文件的底部写入一个字符串。

它需要如何的图像示例。

这是我当前的代码,我不知道如何在文件底部写/也不将位图的内容粘贴到另一个,感谢您的帮助!:

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();

标签: c#graphicsbitmap

解决方案


基本上我所做的是使用我在stackoverflow上找到的 void来按比例调整图像大小,然后按照@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();
        }

推荐阅读