【问题标题】:MFC visibile functionMFC可见功能
【发布时间】:2010-12-19 18:53:39
【问题描述】:

我有一个使用 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;
    }
}

【问题讨论】:

    标签: mfc syntax visibility allegro


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2019-01-01
      • 2011-03-15
      • 2010-09-26
      • 1970-01-01
      • 2014-10-26
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 2010-10-04
      相关资源
      最近更新 更多