在面板上使用DrawImage时丢失部分图像

时间:2015-03-20 20:35:34

标签: c++ winforms

我正在制作一个WinForms应用程序,其中高清图像(1920 x 1080)显示在面板控件上。这些图像实际上来自高清网络摄像头。面板比图像更小(240 x 135),我在调整图像大小并在面板中显示时遇到问题。有时我只是彻底崩溃,有时候图像没有调整大小。

图像是位图,我在控件的Paint事件中重绘它们。

以下是Paint事件处理程序的代码。

void Cam0Panel_Paint( Object^ /*sender*/, System::Windows::Forms::PaintEventArgs^ e )
{
    System::Drawing::Bitmap^ b = ImageWinArray[CHANNEL_SELECT0];
    Graphics^ g = e->Graphics;

    g->InterpolationMode = System::Drawing::Drawing2D::InterpolationMode::Bilinear;
    g->CompositingMode = System::Drawing::Drawing2D::CompositingMode::SourceCopy;
    g->DrawImage(b,System::Drawing::Rectangle(0,0,Cam0Panel->Right,Cam0Panel->Bottom));
}

我指定面板本身的顶部左侧点(0,0),并将图像调整为面板大小。出于某种原因不能正常工作。

任何帮助表示感谢。

0 个答案:

没有答案