0

私には完全に外国語である MFC を使用する課題があります。Image1 と Image2 を 2 つの画像コントロールにアップロードできる必要があります。スライダーを使用すると、左端にある場合は 3 番目の画像コントロールに 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;
    }
}
4

1 に答える 1

0

画像とトランジションにはデバイス コンテキスト (DC) が必要です。画像を DC にロードし (バックグラウンドで を使用してこれを実行できますCMemDC)、トランジションを計算して 3 番目の DC にペイントできます。DC は、必要な機能 (GetPixel など) をサポートしています。

于 2009-11-24T17:00:02.393 に答える