C#でクリックしたポイントを拡大縮小するという処理を行いたいのですが、下のコードで実行はとおるのですが、クリックしたところが拡大されません。
なにをどうなおせばとおるでしょうか
C#
1/// <summary> 2 /// ピクチャーボックスクリック(画像サイズ変更) 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void picMaster_MouseClick(object sender, MouseEventArgs e) 7 { 8 if (picMaster.Image != null) 9 { 10 double a = e.X; 11 double b = e.Y; 12 13 { 14 clsConst.ChangeZoom(e, ref m_zoomMode); 15 m_ratio = clsConst.CalcRatio(m_image.Size, pnlMaster.Size, m_zoomMode); 16 clsConst.ChangePictureSize(picMaster, m_image, m_ratio); 17 } 18 19 //X座標を取得する 20 double na = a * m_ratio; 21 //Y座標を取得する 22 double nb = b * m_ratio; 23 24 //スクロールバー移動 25 this.AutoScrollPosition = new Point(-this.AutoScrollPosition.X + (int)na, -this.AutoScrollPosition.Y + (int)nb); 26 } 27 }
clsConstクラスは自作ですか?clsConstがpicMaster.Imageを変更しているのでしょうか。
とにかく中の挙動が全然わかりませんが、もしそのクラスで拡大を行っているのならclsConstで定義されているメソッドの内容に問題があるかと思います。
cisConst.csは自作です
質問をまとめました
https://teratail.com/questions/174906
ご回答ありがとうございます
つづきはこちらでお願いします
このページの問題が解決された訳ではないでしょう。
同じ内容の問題が散在するので、新しい質問を作るのではなく既存の質問を修正してください。
とは言え、出来てしまったページは仕方ないので同じ旨の質問は1つのページにまとまるよう「このページ」か「新しく作られたページ」のどちらかを削除リクエストしてください。
次からはまとめるために新しい質問を作るのではなく、元の質問を編集する形でまとめてくださいね。
編集した部分はこちらで確認できるので余程質問内容が変わらない限りは問題ありません。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー