none
有關圖片拖曳的問題 RRS feed

  • 問題

  • 各位大大你們好
    我想請問ㄧ個功能
    就是如何利用滑鼠左鍵按著不放然後去拖一依張圖片
    等放開之後它就會停駐

    過程
    我有一個picturebox ㄧ個panel
    我在picturebox上會圈選一個rectangle
    然後rectangle的區塊圖就會印在panel上
    但當圈選過大時
    就必須要有一個拖曳的功能做輔助

    希望各位大大不吝指教以及提供資料或程式碼作參考
    風過留痕
    2009年7月27日 上午 09:25

解答

所有回覆

  • 各位大大你們好
    我想請問ㄧ個功能
    就是如何利用滑鼠左鍵按著不放然後去拖一依張圖片
    等放開之後它就會停駐

    過程
    我有一個picturebox ㄧ個panel
    我在picturebox上會圈選一個rectangle
    然後rectangle的區塊圖就會印在panel上
    但當圈選過大時
    就必須要有一個拖曳的功能做輔助

    希望各位大大不吝指教以及提供資料或程式碼作參考
    風過留痕


    這支程式是當我在picture圈選一個rectangle時
    會把rectangle的區域圖顯示在panel上的程式碼
    Graphics g = panel2.CreateGraphics();
                g.FillRectangle(Brushes.White, panel2.ClientRectangle);
                Rectangle rd = new Rectangle(0, 0, rectSel.Width, rectSel.Height);
                Bitmap temp = new Bitmap(rectSel.Width, rectSel.Height);
                Graphics gi = Graphics.FromImage(temp);

                //Draw selected portion of image onto temp
                gi.DrawImage(newbmp, rd, rectSel, GraphicsUnit.Pixel);
                smallBmp = temp;

                //Draw image onto panel2
                g.DrawImage(smallBmp, rd);

                g.Dispose();
                resizeLevel = 0;


    風過留痕
    • 已編輯 天_ 2009年7月27日 上午 10:35 有地方沒有修改到
    2009年7月27日 上午 10:33
  • VB 版公告的範例抓回去看,跑跑看,滿完整的,自己再改成 C#:
    璉璉MVP, 版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    投票為有用文章
    http://msdn2.microsoft.com/en-us/library/ms973830.aspx

     

    Creating a Design Surface Using Windows Forms and GDI+ in Microsoft .NET
    範例下載:DesignSurface.exe
     
    今天在找 PageUnit 時,意外看到這個範例,雖然是 VB2003 的,但是經過升級轉換後,只有少部分有問題要改。
     
    這個範例內建了好幾個控制項,比如說矩形、文字、橢圓等,放到畫面上後還可以拖拉,可以說把 VB2005 中短缺 VB6 的 Shape 控制項補了起來 (就叫 ShapeGraphic) ,需要這類範例的版友可參考。

    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    • 已標示為解答 天_ 2009年7月28日 上午 07:15
    2009年7月27日 下午 01:10
  • 擷取圖形部分內容的語法可以參考:Crop An Image (Bitmap) in C# or VB.NET
    • 已標示為解答 天_ 2009年7月28日 上午 07:14
    2009年7月28日 上午 02:06