GDI+未経験です。
Bitmapの回転・拡大・縮小・変形をGDI+で組み込もうと
思っています。
組み込もうというのは、現在テキストの回転・拡大・縮小
をすでに組み込んだGDIベースのモジュールに対してです。
このテキスト処理をGDI+に移行せずに、Bitmapとテキスト
を同じデバイスコンテキストに出力可能でしょうか?
よろしくお願い申し上げます。
#GDIのSetWorldTransformでも考慮したんですが、よくある
画像編集ツールで、四角枠の四隅につけられた変形・回転
ハンドルをマウスでドラッグするような操作の実現は厳しい
とどこかで読みました。
コメント付きませんねぇ。
ビットマップを保存するときぐらいしかGDI+は使ったことがありませんが、
1.GDI+は、旧GDIを土台に機能拡張したClassライブラリである。
2.自分が上を設計するならば、互換性を保ったラッパとして実装するはず。
3.できない、又はハングする非互換性部分には「警告」又は「エラー」が
出るように型又はclassをデザインするはず。
と考えられます。
どのクラスに何をしようとしているのか、いまいち不明ですが、
「とにかくやってみればわかる」のではないでしょうか。
それが、C++の良いところです。
仲澤@失業者さんコメントありがとうございます。
やってみれば...といわれましたが、そこらを解説した記事
がないものでしょうか?
この機能をGDIのみで実装したオープンソースはなく、有名どこ
ろはGDI+のようでした。
GDI+の経験も知識も無いのですが、
「猫でもわかるプログラミング」さんのWindows SDK編 第4部 第335章
GDI+の基礎その1によると、GDI+のGraphicsオブジェクトは、
Graphics MyGraphics(hdc); のようにHDCを指定して作成できるようです。
vectorさんのGDIベースのモジュールでも、おそらく描画先にHDCを用いていると思います。
そのHDCでGraphicsオブジェクトを作成してGDI+のBitmap描画を行い、最後に同じ
HDCに対して、GDIベースの既存のテキスト描画処理を行うのはどうでしょうか?
(参考)
猫でもわかるプログラミング
http://homepage2.nifty.com/c_lang/
>この機能をGDIのみで実装したオープンソースはなく、有名どころはGDI+のようでした。
以前、GDI(DIBSection)にてアフィン変換(回転・拡大縮小・せん断など)を実装した事が
あるのですが、かなり面倒だった気がします。
もしGDI+で画像処理が実現出来るのであれば、GDI+を使う方が良いかもしれません。
既にコメントがついていますが、
GDIとGDI+はHDCによって同じ対象を扱う事ができます。
この事はそれぞれのプログラミング方法の説明を元に
試してみれば、わかると思います。
GDIにしてもGDI+にしてもそれなりに説明を行なっている
サイトがあると思いますのでまずはそこを参考にして
テスト的にプログラムを組んでみてはいかがでしょうか?
きのこさん、コメントありがとうございます。
画像相当にこなされるようにお見受けします。
猫でもわかるプログラミング、文字通りぴったりでした。
GDI+がこんなに扱いやすいとは...(*^_^*)。
PATIOさん、コメントありがとうございます。
仲澤@失業者さんに言われたように、やっとテスト的に
プログラムを組んでみようと思えるようになりました。
みなさんどうもサポート、ありがとうございました。
解決しました。