jac*_*nad 3 c# bitmap picturebox winforms
我需要拉伸各种大小的位图来填充PictureBox.
PictureBoxSizeMode.StretchImage有点做我需要的但却无法想到使用这种方法正确地向图像添加文本或线条的方法.下图是一个5x5像素的位图,延伸到380x150 PictureBox.

pictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox.Image = bmp;
Run Code Online (Sandbox Code Playgroud)
using (var bmp2 = new Bitmap(pictureBox.Width, pictureBox.Height))
using (var g = Graphics.FromImage(bmp2))
{
g.InterpolationMode = InterpolationMode.NearestNeighbor;
g.DrawImage(bmp, new Rectangle(Point.Empty, bmp2.Size));
pictureBox.Image = bmp2;
}
Run Code Online (Sandbox Code Playgroud)
但得到这个

我错过了什么?
你似乎丢掉了bmp2你希望在你的图片框中看到的位图()!使用您发布的示例中的using块,因为代码返回后代码不再需要该对象.在您的示例中,您需要使用Bitmap,因此变量上没有-block .Bitmapusingbmp2
以下应该有效:
using (bmp)
{
var bmp2 = new Bitmap(pictureBox.Width, pictureBox.Height);
using (var g = Graphics.FromImage(bmp2))
{
g.InterpolationMode = InterpolationMode.NearestNeighbor;
g.DrawImage(bmp, new Rectangle(Point.Empty, bmp2.Size));
pictureBox.Image = bmp2;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12553 次 |
| 最近记录: |