ようは回転なんだけど。
元画像→転写先だと画素に穴が開くので、
転写先から元画像の位置を逆変換する必要がある。
なお、アフィン変換公式は
cos(α+β)=cosαcosβ-sinαsinβ
sin(α+β)=cosαsinβ+sinαcosβ
を利用するが、証明は余弦定理と2点間の距離が必要。
詳しくは加法定理の証明でググレ。
星型をPolygonとSetPolyFillModeで生成しよう
と最初は考えたが、割りに合わなそうなので止めた。
RGNを生成する方向もボタンを作るならアリだが
単なるトランジションでそこまでやる必要は
なさそうなので却下。
後はこいつの量産と高速化の実現をどうするか。
同日 18:10
そのまま拡大した場合(↑)と
線形補間した場合(↓)。
まぁ、補間した方が質がいいわな。
同日 22:02
24bitビットマップのポインタを直接弄るのを
3回ほど繰り返すともう遅くなる。
800×600のサイズで1画素3byteのRGBを、
ただでさえ3倍の計算量でやっとるからな。
ざっと9倍遅いわけやな。
そこに更に全てdouble型で計算入れたとすると
重いのは想像できる。
これはまたLPDWORD+32ビットビットマップ処理の
出番の予感、ビット演算でRGB一括処理すべき。