- - PR -
(ASP.NET)ImageUrl画像表示のちらつき?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-09-21 09:31
VisualStudio2005でWebアプリを作成しています。
以下のコードで質問があります。 protected void Button1_Click(object sender, EventArgs e) { SimImage.ImageUrl = "SimMerge.aspx"; } --- SimMerge.aspxの内容 --- protected void Page_Load(object sender, EventArgs e) { using (Bitmap bmp = new Bitmap(Request.PhysicalApplicationPath + "gaikan01.jpg")) { for ( X=0; X<bmp.Width; X++ ) // ここでピクセル処理をしている bmp.SetPixel(X,0,tcCol); Response.ContentType = "image/JPEG"; bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); } } ---------------------- Button1_Click のイベントが発生したときに、SimMerge.aspx内で画像処理をしているのですが、 Button1_Clickしたときに、画面が白くなってから画像が表示されるときがあります。 画像表示 → イベント(一瞬画像が白くクリアされる) → 画像表示 となるので、 画像表示 → 画像表示 とスムースに画像が表示される方法があるのか教えてください。 よろしくお願いします。 | ||||
|
投稿日時: 2006-09-21 10:49
Webアプリケーションの基本動作を理解していますか?
リロードなしで画像だけを書き換えたいのであれば、JavaScript等でXMLHTTPRequest等を使用して非同期通信を行います。 [ メッセージ編集済み 編集者: ピカード 編集日時 2006-09-21 10:54 ] | ||||
|
投稿日時: 2006-09-21 10:52
いいえ、すみません、初心者です。
ということは無理ということなんでしょうか。 そういう基本が載ってる文献ってあるのですか? すみません、お願いします。 | ||||
|
投稿日時: 2006-09-21 10:54
ボタンをクリックしたとき、PostBackが起きて新しくHTMLが生成されてブラウザに
返されます。 で、そこでIMGタグのSRCにSimMerge.aspxが指定されているので、あらためて 画像をとりにいきます。 ブラウザに画像がダウンロードされてはじめて画面上に表示されるまでは 白い状態になっているかもしれませんね。 ということで、どうしようもないと思います。 | ||||
|
投稿日時: 2006-09-21 14:37
詳しい説明でよくわかりました。
ありがとうございました。 | ||||
|
投稿日時: 2006-09-21 18:36
ポストバックではなく、非同期で画像を入れ替えるのであれば、
| ||||
|
投稿日時: 2006-09-21 18:52
VS2005(ASP.NET 2.0)を使っているのであれば、ボタンのOnClientClickプロパティを使ってもいいかな。
まぁ、記述する文字列(JavaScript)は同じものだけど。 | ||||
|
投稿日時: 2006-09-21 21:37
aspx?いま、VS2005 の環境を立ち上げていないので具体的なクラス名は出せませんが、その用途のためのクラスがあったと思いますよ?拡張子が ashx かなんかになったと思う。
(やることは同じなんだけど、パフォーマンスが良くなるはず) _________________ |