1. 簡述
?我們在開發窗口程序中,多數會用PictureBox控件來顯示圖片,用屬性BackgroundImage加載圖片做為背景,用BackgroundImageLayout屬性對圖片進行平鋪、拉伸等操作。但是對于背景是GIF動態圖片,它顯示出來的還是靜態的,用Image屬性設置,效果一樣,還是靜態,那該如何設置呢?通過測試,在初始化窗口時加入幾行代碼即可實現。
2. 代碼
private string filename = Path.Combine(Environment.CurrentDirectory, "IMG_1248.GIF");
public Form1()
{
? ? InitializeComponent();
? ? pictureBox1.Image = Image.FromFile(filename);
? ? SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);
? ? pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
? ??
}
3. 說明
代碼中filename是GIF文件所在全路徑。在Form的構造函數中把GIF文件賦值給PictureBox的Image,并打開雙緩沖,并且讓PictureBox控件將自行繪制背景,而不是通過操作系統來繪制。PictureBox的Image處理GIF圖片的方式是拉伸,確保填充滿PictureBox。所以簡單幾行代碼就可以解決GIF動畫顯示的問題。
該文章在 2024/12/14 12:41:56 編輯過