WIC全稱為 Microsoft Windows Imaging Component
在沒有TWICImage之前,如果只有一個文件或一個文件流,想要正確加載到TImage可不是一件簡單的事。
Graphics單元默認也是按照文件後綴名自動選擇相應的圖像類來加載,而一旦沒有後綴名或後綴名不准確,則會導致加載圖片失敗(文件流Stream是沒有後綴名的)。
通常的做法是讀取圖片數據的類型格式標識(文件頭,簽名,格式特征等,如BMP是以BM開頭的),此方法需要了解盡可能多的圖片存儲格式,
此外,還需要引用各種圖片的支持單元(如 GIFImage.pas, JPEG.pas,PNGImage.pas 等...)
現在有了TWICImage,可以直接調用Windows提供的圖像處理組件,支持各種各樣的圖片類型,由於TWICImage是繼承了TGraphic,所以直接就可以加載到TImage中使用,真的是太方便的了,可惜沒法跨平台使用。
另外TWICImage封裝了ImagingFactory類庫,此類庫也是Windows以類工廠的方式提供的各種各樣圖片處理接口(翻轉,裁剪,縮放等...)
var aImg: TWICImage; begin aImg := TWICImage.Create; aImg.LoadFromFile('c:\temp\test.jpg'); //aImg.LoadFromFile('c:\temp\test.png'); // ... Image1.Picture.Assign(aImg); //顯示圖片 aImg.Free; end;