首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DrawImage高程参数不工作

DrawImage高程参数不工作
EN

Stack Overflow用户
提问于 2015-03-30 15:54:59
回答 1查看 71关注 0票数 0

我正在制作一个WinForms应用程序,使用VS2012 c++/cli,并使用DrawImage显示从摄像头捕捉到的高清图像。

这些图像是1920 x 1080位图,我试图在面板控件上显示。该小组为240 x 135 (即准确地说是HD图像的1/8 )。

我打电话给DrawImage的方式如下:

代码语言:javascript
复制
    System::Drawing::Rectangle destRect = System::Drawing::Rectangle(0,0,Cam0Panel->Width,Cam0Panel->Height);
    g->DrawImage(b,destRect);

这应该指定在面板上的相对0,0位置绘制图像,并将图像大小为240x135。但是,图像将不会显示。

如果更改高度参数以指定Panel->底部(这是app -~630中的绝对位置),则图像确实会显示,宽度大小是正确的,但高度大小不正确。

知道我做错了什么或者如何正确调整和显示图像吗?

下面是代码的完整版本。

代码语言:javascript
复制
    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;
        System::Drawing::Rectangle destRect = System::Drawing::Rectangle(0,0,Cam0Panel->Width,Cam0Panel->Bottom);

        g->DrawImage(b,destRect);
    }

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-01 18:44:34

我想出来了。存储位图的数组已初始化,但初始化范围不够持久。因此,存储在数组中的引用可能会被垃圾清除。由于一些奇怪的原因,这是唯一的方式揭示这是垂直参数的绘图图像调用。一旦我纠正了初始化,绘图调用就可以正常工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29350750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档