如何将图像放在Bitmap的图片框中

Iva*_*nov 23 c# image bitmap

是否可以从内存(byte[]streamBitmap)加载图片而不将其保存到磁盘?

这是我用来将byte[]数组转换为Bitmap:

unsafe
{
    fixed (byte* ptr = Misc.ConvertFromUInt32Array(image))
    {
        Bitmap bmp = new Bitmap(200, 64, 800, PixelFormat.Format32bppRgb, new IntPtr(ptr));
        bmp.RotateFlip(RotateFlipType.Rotate180FlipX);
        bmp.MakeTransparent(Color.Black);
        bmp.Save("test.bmp");
    }
}
Run Code Online (Sandbox Code Playgroud)

而不是使用Bmp.save(),我可以把Bitmap图片框放在我的表格上吗?

Chr*_*isF 53

你试过这个吗?

pictureBox.Image = bmp;
Run Code Online (Sandbox Code Playgroud)


JSi*_*ris 8

我有一些类似于导致内存泄漏的公认答案的代码。问题是当您将图片框图像设置为位图时,您仍然引用位图,而不是创建副本。如果您需要多次设置图像,则需要确保处理所有旧位图。

这是任何人谁是寻找克隆一个位图图像框。尝试这个:

if (pictureBox.Image != null) pictureBox.Image.Dispose();
pictureBox.Image = myBitmap.Clone(
    new Rectangle(0, 0, myBitmap.Width, myBitmap.Height), 
    System.Drawing.Imaging.PixelFormat.DontCare);
Run Code Online (Sandbox Code Playgroud)