掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBAで、GDI+を使って画像を回転させるには? (ID:141079)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>コピーしておいた、hCloneを、元画像よりも大きくした、Graphicsに貼り付けるにはどうやったら良いのか、教えていただきたく、お願いします。 描画できる領域はGraphicsのサイズというよりGraphicsに関連付けられている画像のサイズに依存します。 まず元画像からGraphicsオブジェクトを生成するのではなく、描画したいサイズの画像から作るようにしてください。 元記事でリサイズの方はできているとありますが同様の方法は使えないでしょうか? まあ空のビットマップでいいのでGdipCreateBitmapFromScan0でサイズ指定で作ることもできます。 >また、今回のコードは、回転させたり、移動する処理を施したGraphicsに、元のimageを貼り付けるという分かりにくい事をしておりますが、もっと分かりやすい方法がありましたら、合わせてお願いします。 元記事の >retval = GdipDrawImageRectI(hGraphics, hClone, lWidth / 2, lHeight / 2, -lWidth, -lHeight) の部分がわかりにくいかも。 幅と高さが負ということは水平反転と垂直反転の適用で180度回転した状態からの描画を意図してるんでしょうか? これを適用するにはGdipDrawImageRectRectIじゃないとダメかも? (てかピクセル単位ならこっちでしたね・・・) 他にもGDI+のGraphics::DrawImageには平行四辺形の座標を渡すタイプの メソッドがありますが、手間はあまり変わらないかもしれません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.