MFC visibile功能

时间:2009-11-24 06:56:00

标签: mfc syntax visibility allegro

我有一个使用MFC的作业,对我来说这是一个完全外来的语言。 我必须能够将Image1和Image2上传到2个图片控件中。并使用滑块:当它位于最左侧时,您会在第三个图片控件中看到Image1,当它位于最右侧时,您会看到Image2。你之间的任何地方都应该看到过渡。

我完成了大部分工作,我唯一留下的就是这种转变。我知道我需要做什么,而且我正在使用类似于Allegro的功能。我似乎无法找到MFC的语法。

这可能是错误的,所以任何帮助都会受到极大的赞赏。谢谢!

我有:

int nPos = m_Slider.GetPos();
int nWidth1 = Image1.GetWidth();
int nHeight1 = Image1.GetHeight();
int nWidth2 = Image2.GetWidth();
int nHeight2 = Image2.GetHeight();
int nWidth3 = (nWidth1 +nWidth2)/2;
int nHeight3 = (nHeight1 + nHeight2)/2;
int nPixel1;
int nPixel2;
int nPixel3;
int i1, i2, i3, j1, j2, j3;
Image3.Create(nWidth3, nHeight3, 24);
for(i3=0; i3 < nWidth3; i3++){
    for(j3=0; j3 < nHeight3; j3++){
        i1 = i3 * nWidth1 / nWidth3;
        i2 = i3 * nWidth2 / nWidth3;
        j1 = j3 * nHeight1 / nHeight3;
        j2 = j3 * nHeight2 / nHeight3;
        getpixel(nPixel1, i1, j1);
        getpixel(nPixel2, i2, j2);
        putpixel(nPixel3, i3, j3);

        nPixel3 = (nPixel1 * (100-nPos) + nPixel2*nPos) *Image3.visible/100;
    }
}

1 个答案:

答案 0 :(得分:0)

您需要设备上下文(DC)才能进行图片和转换。将图片加载到DC(您可以使用CMemDC在后​​台执行此操作),然后您可以计算转换并将其绘制到第三个DC中。 DC支持您想要的功能(GetPixel等)