
プリクラもどきのようなアプリを作ることになりまして,そのため,とりあえずコンポーネントを探してきて,Delphi Super PageにあったTVideoというコンポーネントで,ビデオ入力の画面への表示はできるようになりました。
コンポーネントの機能で,クリップボードやビットマップへの書き出しが可能なので,撮影した後の処理は自力でできると思っているのですが,プリクラもどきであるので,「キャプチャーされて流れている映像の上にビットマップを重ねたい」のです。
透明色を設定してあるビットマップのフレームをメニューから選択して,撮影するときにビデオ入力を画面に表示して,その上にフレームを重ねたいということです。
しかし,コンポーネントのエリアにTImageを重ねても,何をしても,キャプチャー画面が最上位に来てしまいます。高速描画なとこなのでそうなってるのだとは思うんですが,ビットマップを重ねる方法や,その他の実現方法などありましたら教えてください。
VFWを直接いじればいいんでしょうが,VCLしか使えてないような人間なので。
開発環境は,Delphi 3.1です。今は6のPersonalを使っていますが,コンポーネントが対応していないので。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは、honiyonです。
フレームを TBitmapオブジェクトに入れて、 Transparentをtrueにして下さい。
あとは、キャプチャ画像の入っている画像オブジェクトに対して Drawしてあげるだけで出来ると思います。(多分キャプチャ画像も Bitmapでないと失敗するかも?)
例)
FrameCG.LoadFromFile('FRAME.BMP');
FrameCG.Transparent := true;
FrameCG.TransparentColor := clWhite;
CaptureCG.Canvas(0, 0, FrameCG);
ヘルプで TBitmapオブジェクトの TransparentやTransparentColorを参照してみてください。
参考になれば幸いです(..
この回答への補足
回答ありがとうございます。
しかしビデオキャプチャーのコンポーネントの方に,Canvasが無いと言われちゃうんです。
なんか無理そうなので,少々(というかかなり)強引にコンポーネント側のSavetoDIBでビットマップ書き出し -> Imageに読み込み,で,教えてもらったようにDrawしてます。フレームレートが10から5くらいで十分なので,速度的にもついてきていて。イベントに使うだけだしいいや。と投げてます。^^;
いろいろいじるのは,まだ出来ないので...
せめてクリップボード経由で読み込むようにはするつもりです。
どうもお手数おかけしました。m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 【C++】IDirect3DSurfaceのディープコピーは可能ですか? 1 2022/07/06 02:47
- 防犯カメラ・監視カメラ・小型カメラ VHSを高画質な動画ファイルにしたいです。 3 2022/05/06 12:08
- テレビ プレステ5が映らなくりました 1 2023/07/13 11:09
- 防犯カメラ・監視カメラ・小型カメラ Windowsのカメラ機能。設定した通りのfpsでの撮影ができず、コマ落ち動画になる。修正するには? 2 2023/01/29 09:50
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- その他(ソフトウェア) Figma 1 2023/06/23 14:22
- 写真・ビデオ LINEの動画送信でインカメラの場合、左右逆転になるのは避けられないですか? 1 2022/08/29 12:58
- 政治 リーダーシップと外交政策についての発表をするのですが、 リーダーシップの対外政策への影響を受け、リー 1 2023/05/07 14:22
- ルーター・ネットワーク機器 echoshow8の音声をBluetoothを介してパソコンで出力するやり方を教えて下さい。 3 2023/04/03 17:09
- デジタルカメラ カメラ タイムラプス撮影 1 2022/11/18 07:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GmailをSWTフレームに表示し、...
-
重なっているコンポの実行時優...
-
imageにリスナーを付けたい
-
Googleツールバーライクなコン...
-
キーイベント処理について
-
Component上で説明文を表示させ...
-
フォームが閉じれないのはなぜ...
-
VB.NETでフォーム上にExcelのよ...
-
用語について
-
AS3 記述方法
-
coda-sliderというjavascriptを...
-
モーダレスダイアログについて
-
上階層へのEvent伝達方法
-
中学生です。 私は教室の黒板に...
-
携帯IApplicationのsuper
-
LiveConnectって?
-
c# この高速化の方法あり? 2
-
[C@3331394などの文字列
-
application暗黙オブジェクトで...
-
下記のコードを実行すると、Mai...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETでフォーム上にExcelのよ...
-
VB.NETでMSComm が追加できず?
-
Visual Basic 2010を使ってRS-2...
-
ファイル保存先のダイアログが...
-
requestFocusについて
-
java gui のイベント処理が重い
-
swingでボタンにボーダーをつけ...
-
ラベルをプログレスバーのよう...
-
ツールボックスのような折りたたみ
-
C++Builder でPanel上にフォー...
-
C#で設定時刻到来時にイベント...
-
文字の色の変更
-
VB6のツールボックスへのコンポ...
-
C++ で PostqreSQL
-
画像の表示
-
コンポーネントとBeanの違いとは?
-
フレーム上のコンポーネントの...
-
BoxLayout使用時の不具合について
-
C#で参照したCOMコンポーネント...
-
VS2010デザイナーの読込エラー...
おすすめ情報