お世話になります。
以前、PictureBoxの透過に関して、下記アドバイスをいただき、
無事作成できたのですが、
今度は、PictureboxBの上にあるPictureboxA(透過率50%)の画像を
4点ある頂点を再指定して、変形させたいのですが・・・
http://oshiete.goo.ne.jp/qa/8662361.html
Dxlib OpenGL OpenCVなどを使用するサンプルは多数見かけるのですが、
標準の機能だけで、画像の変形はできますでしょうか。
【やりたいことのイメージ】
PictureboxBに町並みの画像
PictureboxAにビルやマンションの画像
PictureboxBに町並みの画像の上にPictureboxAの建物を半透明で表示して、
その建物の画像を移動とパースで背景の任意の位置に配置する。
※ 現在は上記で教わった手法にて、半透明と移動までできています。
※ rectangleだけだと平行四辺形までの変形しかできないようなので、
頂点指定もしくは、何らかの係数で値を変えると変形するのでも構いませんので、
変形させる方法がございましたら教えていただけないでしょうか。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
先の TransparenetPictureBox の回答者の物です。
質問者さんがお使いになっているのは、純粋な C++ ではなくて C++/CLI という物なのですが、これは C# と同じ枠組を使ってプログラムを書く環境になっています。特に Web 上では C++/CLI よりも C# による記事の方が充実しているので、何か分からない事があれば C# の記事を探してそれを C++/CLI に翻訳する (或いは C# の .dll にしてそれを C++/CLI から利用する) というのも有効な一つの手です。(既に御存知でしたら済みません。)英語とか C# とかでも OK ですか? その様な変換は perspective transformation だとか perspective deformation だとかいうのですが、"C# perspective" などで検索してみると幾らか出てきます。
やはり、標準の機能ではその様な変換には対応していない様です。標準では線形変換だとか精々2次元のアフィン変換しかないので、矩形は常に平行四辺形になります。(台形の形にするには perspective 変換 (~3次元アフィン変換+投射) だとかしなければならないんだった様に思います。)すると、自分で書くか、何処か別の所から持ってくるしかありません。
* 例えば以下でサンプルコードをダウンロードできます
http://www.codeproject.com/Articles/36145/Free-I …
(ダウンロードには会員登録が必要ですが、このサイトは昔からある良いサイトなので登録して損はないです)
↑の簡単な使い方の例は以下にあります
http://stackoverflow.com/questions/5730236/persp …
* 他にも下の様なページもありましたが、これはサンプルがリンク切れ?になっていますね…
http://social.msdn.microsoft.com/Forums/vstudio/ …
* Direct 3D が使える環境では以下のような方法もあります
http://msdn.microsoft.com/en-us/library/windows/ …
(しかし C++/CLI の System.Windows.Forms 上で使うのは色々複雑だったような気が…。最近では XNA Framework が推奨されている様で、これを System.Windows.Forms 上で使う方法を調べれば良いのでしょうかね。)
akinomyoga様
回答ありがとうございます。
実は、akinomyogaさんに直接聞ければ、良い回答をいただけると思っていたんです。
でも、ここは、個人指定で質問できないので、
やきもきしてました。
今回の質問もakinomyogaさんの目に止まり、的確な回答をいただけ、
本当に助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Photoshop(フォトショップ) Photoshopの画像が重すぎるので軽くしたいです 7 2022/05/13 20:13
- HTML・CSS 差し込み画像にをcssで大きさ指定したい 1 2022/11/23 23:14
- HTML・CSS svgクリップパスの応用コーディング方法 2 2022/04/09 09:07
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- Illustrator(イラストレーター) Illustratorで白い部分のみを透過させたいです。 2 2022/10/10 22:27
- 画像編集・動画編集・音楽編集 gimp or photoscapeXで背景画の透明度を変える方法 5 2022/12/20 14:13
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- C言語・C++・C# 画像の画素値を変えるC言語のプログラムで指定された画像の中に白い三角形を右上に表示させるにはどのよう 3 2022/10/30 01:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GetDlgItemInt( ) c++
-
Excel-VBAのmsgBox()の不思議
-
isoをimgに変換したいのですが...
-
【EXCEL】カナ、ひらがなを英字...
-
緯度、経度の 10進法と 60進法...
-
線対称の角度を求める
-
CIDコードからUNICODEへの変換...
-
Linux Mint でShift-JISが使い...
-
基本情報 過去問16年 問4に...
-
FortranをC++(VC++)へ変換
-
tex 郵便記号のだしかた
-
VBAを使って二進法計算
-
VB6からVB2010への変換
-
半角カナ文字と特殊文字の変換
-
英数文字列のうちの数値を4桁に...
-
H8/3664FのAD変換について
-
機械語とアセンブリ言語の違い...
-
PIC AD変換
-
DOSコマンドでの文字コード変換...
-
n次元の正規直交基底ベクトルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
Excel-VBAのmsgBox()の不思議
-
Mac 乗数の入力方法
-
家電製品の電力周波数を変える機械
-
3のつく数字と3の倍数のみを表...
-
bmp→jpgに、jpg→bmpに
-
10進数をBCDに変換する方法
-
【EXCEL】カナ、ひらがなを英字...
-
StrConvの使い方について教えて...
-
分を時間に変換するプログラム
-
画像ファイル変換(Tiff→PDF)
-
マンセル⇔XYZ,RGB変換式或いは...
-
C/C++→JAVAに変換するツール
-
VB6からVB2010への変換について
-
c++でmatからvectorへの変換の...
-
DOSコマンドでの文字コード変換...
-
VB.NETをJavaに変換するツール...
-
SJIS⇔UTF-8の文字コード...
-
なぜ通信には16進数文字列が使...
-
C#でのpngからbmpへの変換について
おすすめ情報