3.4.MPEG數(shù)據(jù)流的縮放顯示
放大或縮小MPEG圖像是各種多媒體播放軟件中常用的圖像顯示處理手段。VisualBasic中對于靜態(tài)圖片進行縮放處理可以使用Image控件,將控件的Stretch屬性設(shè)為True,則裝入的圖片會改變比例適應(yīng)Image控件的范圍,因此對圖片的縮放處理變成對Image控件的Height、Width屬性值的大小變化。由于控件的尺寸發(fā)生變化,顯示的點距不能改變,造成顯示點的像素點與圖片不能完全一一對應(yīng),顯示質(zhì)量明顯變差。只有Image控件才能對圖片進行縮放,如果PictureBox控件不足以顯示整幅圖象,則裁剪圖象以適應(yīng)控件的大小。要想實現(xiàn)用PictureBox控件實現(xiàn)對輸出MPEG圖像的縮放,必須改變MPEG數(shù)據(jù)流的輸出比例,在調(diào)節(jié)PictureBox控件的尺寸去適應(yīng)輸出的MPEG圖像。實際上,在上面的第3小節(jié)里,為了顯示輸出MPEG圖像已經(jīng)這樣做了。只不過用的是讀取出的MPEG圖像OldWidth、 OldHeight,下面給出一個以原來的1/2大小輸出MPEG圖像的例子。
pVW.width = OldWidth / 2
pVW.Height = OldHeight / 2
picTV.Left = 135
picTV.Top = 135
picTV.width = pVW.width * 15
picTV.Height = pVW.Height * 15
pVW.Owner = picTV.hWnd
在放大或縮小MPEG圖像的尺寸時要注意保持Width、Height的比例一致,以免輸出的圖像變形。
放大或縮小MPEG圖像是各種多媒體播放軟件中常用的圖像顯示處理手段。VisualBasic中對于靜態(tài)圖片進行縮放處理可以使用Image控件,將控件的Stretch屬性設(shè)為True,則裝入的圖片會改變比例適應(yīng)Image控件的范圍,因此對圖片的縮放處理變成對Image控件的Height、Width屬性值的大小變化。由于控件的尺寸發(fā)生變化,顯示的點距不能改變,造成顯示點的像素點與圖片不能完全一一對應(yīng),顯示質(zhì)量明顯變差。只有Image控件才能對圖片進行縮放,如果PictureBox控件不足以顯示整幅圖象,則裁剪圖象以適應(yīng)控件的大小。要想實現(xiàn)用PictureBox控件實現(xiàn)對輸出MPEG圖像的縮放,必須改變MPEG數(shù)據(jù)流的輸出比例,在調(diào)節(jié)PictureBox控件的尺寸去適應(yīng)輸出的MPEG圖像。實際上,在上面的第3小節(jié)里,為了顯示輸出MPEG圖像已經(jīng)這樣做了。只不過用的是讀取出的MPEG圖像OldWidth、 OldHeight,下面給出一個以原來的1/2大小輸出MPEG圖像的例子。
pVW.width = OldWidth / 2
pVW.Height = OldHeight / 2
picTV.Left = 135
picTV.Top = 135
picTV.width = pVW.width * 15
picTV.Height = pVW.Height * 15
pVW.Owner = picTV.hWnd
在放大或縮小MPEG圖像的尺寸時要注意保持Width、Height的比例一致,以免輸出的圖像變形。