none
picturebox如何以他的中心為基準來縮放? RRS feed

  • 問題

  • 大家好:

         如果要將picturebox以他的中心為基準來縮放的話(預設是左上角),程式可以加什麼呢?

           如果有問得不好的地方請見諒,謝謝大家!!!

    我的程式碼是這樣:

               

    Mouse_enter事件

                pictuebox1.Width = Convert.ToInt32(pictuebox1.Width * 2.5);
                pictuebox1.Height = Convert.ToInt32(pictuebox1.Height * 2.5);
                pictuebox1.BringToFront();

    //放大之後一道最上層

    Mouse_leave事件

                pictuebox1.Width = Convert.ToInt32(pictuebox1.Width / 2.5);
                pictuebox1.Height = Convert.ToInt32(pictuebox1.Height / 2.5);

    //縮小

    2019年8月13日 上午 04:48

所有回覆

  • 您可以參考這個範例的做法:

    Have an Image fit to picturebox, zoom and move

    2019年8月13日 下午 12:20
  • 通常分兩段,PictureBox 小於畫面用 Size 處理,大於畫面用 DrawImage ,DrawImage 對於定位處理得比較方便。

    調 PictureBox 尺寸的話可能會碰上這篇的問題:[VB2005]PictureBox 的大小限制


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2019年8月13日 下午 01:01
  • 我的PictureBox是設定為Zoom沒錯,是想要達到預覽的效果,原本以小圖顯示,MouseEnter事件放大但是因為邊邊的圖繪因此超出Form邊框,所以不是如google map那種定位縮放,是要以PictureBox為基準點放大和縮小這樣,原本有打不清楚或是誤解的地方,因為是初學者,不好意思~
    2019年8月13日 下午 03:12
  • 把 PictureBox.SizeMode 設定為 PictureBoxSizeMode.CenterImage 試試看

    https://docs.microsoft.com/zh-tw/dotnet/api/system.windows.forms.picturebox.sizemode?view=netframework-4.8


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。 https://skilltree.my/

    2019年8月14日 下午 02:01
    版主
  • 論壇有簽名檔功能。

    你如果使用控制項尺寸去縮放圖片,你就要多控制控制項的 Top / Left = 0.5 * Height / Width


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2019年8月14日 下午 02:43
  • 其實不是對圖像直接作放大縮小

    而且去得到你圖像要顯示的區域的座標

    去顯示那個區域的圖像

    這樣才能達到正常效果

    2019年9月11日 上午 03:57