如何更改图片框中矩形的SizeMode?

时间:2015-01-13 07:38:32

标签: vb.net image picturebox image-zoom

在VB2010中,我尝试更改我的图像适合的 PictureBox SizeMode 。问题是当我将值更改为缩放 StretchImage 时, SizeMode 无效。由于某种原因,我的图像大小被锁定。

我的代码如下所示:

    void frameCallBack(IntPtr lpUserData, ref VCECLB_FrameInfoEx frameInfo)
    {

        if (frameInfo.dma_status != 0) return;
        // fill image

        Rectangle rect = new Rectangle(0, 0, image.Width, image.Height);


        BitmapData bmdata = image.LockBits(rect, ImageLockMode.ReadWrite, image.PixelFormat);

        UInt32 outputBitDepth;
        IntPtr stride = new IntPtr(bmdata.Stride);

        VCECLB_Error err = NativeFunctions.VCECLB_UnpackRawPixelsEx(ref pRawPixelInfo, frameInfo.lpRawBuffer, bmdata.Scan0, ref stride, VCECLB_Output_Format.VCECLB_EX_FMT_TopDown | VCECLB_Output_Format.VCECLB_EX_FMT_3Channel, out outputBitDepth);

        image.UnlockBits(bmdata);

        preview.SizeMode = PictureBoxSizeMode.Zoom;
        preview.Image = new Bitmap(image);        
    }

PictureBox中的图像缩小,右侧有大的黑色条纹。它看起来像这样: enter image description here

相同的图片应如下所示: enter image description here

问题: 如何自动调整图像大小适合我的PictureBox?

谢谢!

0 个答案:

没有答案