2017年9月7日 星期四

TJpegImage的應用

TJpegImage的應用
包括:重要屬性與方法介紹,載入的應用,儲存的應用,快速縮圖應用,顯示載入進度應用

補充說明:TJpegImage是一個BCB的標準元件,是從Delphi移植過來的,該元件基本上也是用IJG(Independent JPEG Group)的Library的,所以如果你有興趣,也可以自行include IJG的library來進行載入與儲存的動作,只是TJpegImage已經把它包的很好了還有需要再另行努力嗎?

TJpegImage基本上提供你載入與儲存的介面,顯示你必須要搭配TImage

TJpegImage在help中有詳細的介紹,請進入BCB的Help即可得到完整的解說,本課在此做一些比較進階的應用

重要的屬性(Property)介紹



CompressionQuality
當你要儲存jpeg時,這個屬性決定的壓縮品質,範圍是1到100,1表示壓縮最大品質最差,100表示壓縮最小,品質最高
Grayscale
1.用來得知載入的影像是不是8bits的灰階影像
2.輸出將原本的彩色影像變成8bits灰階
Height
影像的高度(尺寸大小)
Palette
該屬性可以取得或設定新的色盤,當影像是不需要色盤時,該屬性為0
Performance
決定載入影像的品質
jpBestQuality
表示以最佳品質方式載入
jpBestSpeed
表示以最快的速度方式載入
PixelFormat
像素的顏色深度
jf8Bit表示該影像為8位元的影像
jf24Bit 表示該影像為24位元的影像,一般的jpeg都是24位元的影像
ProgressiveDisplay
當jpeg顯示來源是從網路等緩慢的下載方式時,你可以考慮將它設為true。從硬碟等快速的裝置載入時如果將設為true時只是降低顯示的速度而已。
ProgressiveEncoding
在存檔壓縮時,將它設為true可以讓影像在載入的時候慢慢的先顯示出來,建議設為false
Scale
決定載入圖片的尺寸大小,這個可以方便讓你顯示縮圖,當你設成jsHalf到jsEighth時你會發顯載入的速度加快了。
jsFullSize:顯示完整的尺寸
jsHalf: 顯示1/2的尺寸
jsQuarter:顯示1/4的尺寸
jsEighth:顯示1/8的尺寸
Smoothing
這個屬性只有當ProgressiveDisplay為true時才有用
當設為true時,載入當中的影像區塊顯示,會先以以柔和模糊的區塊代替
Width
影像的高度(尺寸大小)


重要的方法(Method)介紹

Assign
可以拷貝一個Bitmap進來,
LoadFromFile
從檔案中載入jpeg檔
SaveToFile
儲存jpeg至檔案中



重要的事件(Event)介紹

OnProgress
你可以利用這個事件監控影像載入的進度
OnChange
當影像內容有變化時,就會產生這個事件

轉貼至 http://www.photocap.com.tw/Tuition/BCB/C01/L02/C01L02.htm

沒有留言:

張貼留言