我正在制作一个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),并将图像调整为面板大小。出于某种原因不能正常工作。
任何帮助表示感谢。