C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

絵を重ねて表示したいのですが


(過去ログ 4 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■4261 / inTopicNo.1)  絵を重ねて表示したいのですが
  
□投稿者/ nish 二等兵(1回)-(2006/06/12(Mon) 14:58:19)

分類:[C#] 


分類:[C#] 

C#を始めて間もなき者です。

二つの絵を重ねたいのですが教えてください。
スレッドAでは、10回/sで描画(カメラ)。
スレッドBでは、1回/sで描画(ある絵を加工する)。

スレッドAでPictureBox.Imageに、
スレッドBでPictureBox.BackgroundImageに
透過させてリアルタイムに描画してます。

@タイミングにより?ぶつかって落ちてしまうので、
 それぞれのスレッドでlock(PictureBox)内で設定しました。
Aうまくいったようにみえたのですが
 スレッドABのプライオリティを異なるプライオリティに変更したところ
 またぶつかってしまいました。(なぜ?)
BスレッドBでは、描画せず、加工するのみとし
 スレッドAで、スレッドBの加工した絵をゲットし、
 PictureBox.ImageとBackgroundImageに描画するようにしました。

という経緯で、現在Bになっているのですが、
スレッドAが、若干遅くなってしまうので
どうすればいいのか悩んでいます。

@lock以外に何か俳他できるものはありますか?
A2つのPictureBoxを使って重ねることはできますか?
B他に何かいい方法はありますか?


0
引用返信 編集キー/
■4262 / inTopicNo.2)  Re[1]: 絵を重ねて表示したいのですが
□投稿者/ 中博俊 神(503回)-(2006/06/12(Mon) 15:03:13)
中博俊 さんの Web サイト

分類:[C#] 

>落ちてしまうので
具体的には?

>それぞれのスレッドでlock(PictureBox)内で設定しました。
具体的には?

>スレッドABのプライオリティを異なるプライオリティに変更したところ
具体的には?

>またぶつかってしまいました。(なぜ?)
具体的には?


抽象的すぎて、バグってますねとしかいえないですねー

0
引用返信 編集キー/
■4263 / inTopicNo.3)  Re[2]: 絵を重ねて表示したいのですが
□投稿者/ nish 二等兵(2回)-(2006/06/12(Mon) 15:19:49)

分類:[C#] 

No4262に返信(中博俊さんの記事)
> >落ちてしまうので
> 具体的には?
今ログがないので、詳細が書けませんでした。
スレッドBがPictureBoxをつかんでいるのに
スレッドAでPictureBoxをつかもうとした。
みたいなカンジだったと思います。

> >それぞれのスレッドでlock(PictureBox)内で設定しました。
> 具体的には?
スレッドA
lock(PictureBox)
{
 PictureBox.Image = 絵
}

スレッドB
lock(PictureBox)
{
 PictureBox.BackgroundImage = 絵
}

> >スレッドABのプライオリティを異なるプライオリティに変更したところ
> 具体的には?
スレッドA
ThreadA.Priority = ThreadPriority.Highest
スレッドB
ThreadB.Priority = ThreadPriority.Lowest

> >またぶつかってしまいました。(なぜ?)
> 具体的には?
最初と同じです。



0
引用返信 編集キー/
■4265 / inTopicNo.4)  Re[3]: 絵を重ねて表示したいのですが
□投稿者/ 中博俊 神(504回)-(2006/06/12(Mon) 16:23:24)
中博俊 さんの Web サイト

分類:[C#] 

pictureboxを直接操作するにはlockじゃなくってBeginInvokeしなくちゃいけません。

0
引用返信 編集キー/
■4266 / inTopicNo.5)  Re[4]: 絵を重ねて表示したいのですが
□投稿者/ フィードバックしてね。 二等兵(1回)-(2006/06/12(Mon) 16:30:40)

分類:[C#] 

放置せず、アドバイスをもらっているならお礼とフィードバックしてね。
http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=2867

0
引用返信 編集キー/
■4268 / inTopicNo.6)  Re[5]: 絵を重ねて表示したいのですが
□投稿者/ 中博俊 神(505回)-(2006/06/12(Mon) 17:13:22)
中博俊 さんの Web サイト

分類:[C#] 

まぁ別にお礼とフィードバックを期待していませんけどね。

0
引用返信 編集キー/
■4272 / inTopicNo.7)  Re[6]: 絵を重ねて表示したいのですが
□投稿者/ YAS 伍長(55回)-(2006/06/12(Mon) 20:59:56)
YAS さんの Web サイト

分類:[C#] 

カメラの絵と静止画を合成するのですか?
ブルーバックとかで?
DirectShowの機能を使えばできませんか?

0
引用返信 編集キー/
■4274 / inTopicNo.8)  Re[7]: 絵を重ねて表示したいのですが
□投稿者/ Jitta 曹長(83回)-(2006/06/12(Mon) 21:47:05)

分類:[C#] 

 Thread A も B も、PictureBox の作者ではないからでしょう。
# インスタンス名がクラス名と同じ?
 Control.Invoke を使って、作者にやらせましょう。
#####
 マルチ スレッドでプログラムできるだけの知識があるなら、msdn の説明とサンプルで十分理解可能と思われるので、「サンプルください」には答えません。

0
引用返信 編集キー/
■4402 / inTopicNo.9)  Re[4]: 絵を重ねて表示したいのですが
□投稿者/ nish 二等兵(3回)-(2006/06/20(Tue) 11:06:56)

分類:[C#] 

No4265に返信(中博俊さんの記事)
> pictureboxを直接操作するにはlockじゃなくってBeginInvokeしなくちゃいけません。
返事遅くなりました。
lockじゃダメなのですね。。。
ありがとうございます。


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -