1. 程式人生 > >Winform/C#入門程式設計之第二部分常用控制元件(十:圖片控制元件PictureBox)

Winform/C#入門程式設計之第二部分常用控制元件(十:圖片控制元件PictureBox)

簡介:

        介紹圖片控制元件PictureBox。常用於相機影象的採集顯示。

 

介紹:

1.屬性

常用屬性
Name 獲取或設定控制元件的名稱。
PictureBox

獲取或設定由 PictureBox 顯示的影象。

Anchor

獲取或設定控制元件繫結到的容器的邊緣並確定控制元件如何隨其父級一起調整大小。

Dock

獲取或設定哪些控制元件邊框停靠到其父控制元件並確定控制元件如何隨其父級一起調整大小。

Size

獲取或設定控制元件的高度和寬度。

SizeMode

 

指示如何顯示影象
Normal 影象被置於 PictureBox 的左上角。 如果影象比包含它的 PictureBox 大,則該影象將被剪裁掉。
StretchImage PictureBox 中的影象被拉伸或收縮,以適合 PictureBox 的大小。
AutoSize 調整 PictureBox 大小,使其等於所包含的影象大小。
CenterImage 如果 PictureBox 比影象大,則影象將居中顯示。 如果影象比 PictureBox 大,則圖片將居於 PictureBox 中心,而外邊緣將被剪裁掉。
Zoom 影象大小按其原有的大小比例被增加或減小。

         該屬性的有效值從 PictureBoxSizeMode

列舉中獲得。預設情況下,在 Normal 模式中, Image 置於 PictureBox 的左上角,凡是因過大而不適合 PictureBox 的任何影象部分都將被剪裁掉。 使用 StretchImage 值會使影象拉伸或收縮,以便適合 PictureBox。 使用 Zoom 的值可以使影象被拉伸或收縮以適應 PictureBox;但是仍然保持原始縱橫比。使用 AutoSize 值會使控制元件調整大小,以便總是適合影象的大小。 使用 CenterImage 值會使影象居於工作區的中心。

ContextMenuStrip

獲取或設定與此控制元件關聯的 ContextMenuStrip

 

2.事件

常用事件
SizeChanged

Size 屬性值更改時發生。

 

3.使用

  1. 一般更改屬性Name。
  2. 屬性SizeMode選擇。

如下圖:

 

 

4.原理

  1. 屬性SizeMode選擇不同值時,顯示圖片的效果也不一樣。
  2. 事件SizeChanged,用在控制元件的Size改變時,其它控制元件或者狀態跟著改變狀態或大小。
  3. 屬性Anchor選擇Top,Bottom,Left,Right或Dock選擇Fill,屬性SizeMode選擇CenterImage時。圖片可跟隨窗體大小改變而顯示。
  4. 放大或者縮小圖片。更改Width和Height。
  • 事件SizeChanged
        private void pictureBox1_SizeChanged(object sender, EventArgs e)
        {
            int centerX = this.pictureBox1.Size.Width / 2;
            int centerY = this.pictureBox1.Size.Height / 2;
        }
  • 縮放 
        private void Form1_Load(object sender, EventArgs e)
        {
            pictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
            string path = @"C:\Users\Administrator\Desktop\主頁.png";
            Image img = Image.FromFile(path);
            double scale = 1;  //縮放比列
            Bitmap bitmap = new Bitmap(img, new Size((int)(img.Width * scale), (int)(img.Height * scale)));
            pictureBox1.Image = bitmap;
        }

 

5.演示

        private void Form1_Load(object sender, EventArgs e)
        {
           
            string path = @"C:\Users\Administrator\Desktop\主頁.png";
            Image img = Image.FromFile(path);
            pictureBox1.Image = img;
        }

如下圖: 

  • 屬性SizeMode選擇Normal

 

  • 屬性SizeMode選擇StretchImage

  •   屬性SizeMode選擇AutoSize,改變窗體大小後,圖片會跟隨顯示。

  •  屬性SizeMode選擇CenterImage 

 

  • 屬性SizeMode選擇Zoom