



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第WPF中圖像處理的方法介紹和Winform中的GDI+相比,WPF提供了一組新的API用于顯示和編輯圖像。新API特點如下:
適用于新的或?qū)S脠D像格式的擴展性模型。
對包括位圖(BMP)、聯(lián)合圖像專家組(JPEG)、可移植網(wǎng)絡圖形(PNG)、標記圖像文件格式(TIFF)、MicrosoftWindowsMedia照片、圖形交換格式(GIF)和圖標(.ico)在內(nèi)的本機圖像格式增強了性能和安全性。
高位深圖像數(shù)據(jù)的保留最多32位/通道。
非破壞性圖像縮放、裁切和旋轉(zhuǎn)。
簡化的顏色管理
支持文件內(nèi)的專用元數(shù)據(jù)。
托管組件利用非托管基礎(chǔ)結(jié)構(gòu)提供圖像與其他WPF功能(如用戶界面(UI)、動畫和圖形)的無縫集成。托管組件還可以從WindowsPresentationFoundation(WPF)圖像處理編解碼器擴展性模型獲益,利用該模型可以實現(xiàn)自動識別WPF中的新圖像格式。
大部分托管的WPF圖像處理API駐留在System.Windows.Media.Imaging命名空間中,不過,幾個重要的類型(如ImageBrush和ImageDrawing)都駐留在System.Windows.Media命名空間,Image駐留在System.Windows.Controls命名空間。
下面我通過一個簡單的示例演示一下新的API的使用方法:
圖像編碼格式轉(zhuǎn)換:
varimageStreamSource=File.OpenRead(@"r:\1\24.bmp");
vardecoder=BitmapDecoder.Create(imageStreamSource,BitmapCreateOptions.PreservePixelFormat,BitmapCacheOption.Default);
varbitmapFrame=decoder.Frames[0];
//在界面上顯示圖片
//image1.Source=bitmapFrame;
varencoder=newJpegBitmapEncoder();
encoder.Frames.Add(bitmapFrame);
encoder.Save(File.Create(@"r:\1\3.jpg"));
這個功能非常簡單,就是把一個bmp格式的圖片轉(zhuǎn)換為了一個jpg格式的圖片。這個示例也顯示了WPF的圖像處理的基本方式:
從解碼器(xxxDecoder)中獲取圖像信息
創(chuàng)建解碼器后,圖像信息就保存在Frames(雖然大部分圖像(jpg,bmp,png等)只有一幀,但GIF,ico等圖像有多幀)屬性中了。
用編碼器(xxxEncoder)保持圖像信息
相應的,編碼時只要創(chuàng)建編碼器,并設(shè)置相應的幀即可。
圖像處理:
常用的圖像處理包括縮放、裁切和旋轉(zhuǎn)等,如下是一個將圖像旋轉(zhuǎn)90度的例子。
varimageStreamSource=File.OpenRead(@"r:\1\24.bmp");
vardecoder=BitmapDecoder.Create(imageStreamSource,BitmapCreateOptions.PreservePixelFormat,BitmapCacheOption.Default);
varbitmapFrame=decoder.Frames[0];
TransformedBitmapmyRotatedBitmapSource=newTransformedBitmap();
myRotatedBitmapSource.BeginInit();
myRotatedBitmapSource.Source=bitmapFrame;
//旋轉(zhuǎn)90度
myRotatedBitmapSource.Transform=newRotateTransform(90);
myRotatedBitmapSource.EndInit();
varrotate=newRotateTransform(90);
varrotatedBitMap=newTransformedBitmap(bitmapFrame,rotate);
image1.Source=rotatedBitMap;
////裁剪
//CroppedBitmapchainedBitMap=newCroppedBitmap(bitmapFrame,newInt32Rect(100,0,(int)bitmapFrame.Width-100,(int)bitmapFrame.Height));
////縮放
//varscare=newScaleTransform(1.5,2);
//varscaredBitMap=newTransformedBitmap(bitmapFrame,scare);
varencoder=newJpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(rotatedBitMap));
//encoder.Frames.Add(BitmapFrame.Create(scaredBitMap));
//encoder.Frames.Add(BitmapFrame.Create(chainedBitMap));
encoder.Save(File.Create(@"r:\1\3.jpg"));
和上面的例子相比,這里就是多了一個TransformedBitmap變換,其實這和xaml中的變換時一樣的。
ImageWidth="150"Margin="5"Grid.Column="0"Grid.Row="1"
Image.Source
TransformedBitmapSource="/sampleImages/watermelon.jpg"
TransformedBitmap.Transform
RotateTransformAngle="90"/
/TransformedBitmap.Transform
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供貨讓利合同范例
- 三鑫股合同范例
- 修路勞務人工合同范例
- 買房陪同服務合同范例
- 2024內(nèi)部審計職能試題及答案
- 促銷折讓合同范例
- 公司入駐合同范例
- 串串加盟合同范例
- 企業(yè)財務表現(xiàn)的評價方法及試題答案
- 2025年中級會計考試的風險防范試題及答案
- 田園綜合體可行性研究報告
- 沈陽市東北大學非教師崗位招聘考試真題2024
- 2025年中考語文二輪復習:散文閱讀 專題練習題(含答案)
- 高校宿管培訓
- 2025屆新高考教學教研聯(lián)盟高三第二次聯(lián)考政治試題及答案
- 2025年03月國家衛(wèi)生健康委統(tǒng)計信息中心公開招聘人才派遣1人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 行政管理本科畢業(yè)論文-數(shù)字政府建設(shè)背景下的行政文化轉(zhuǎn)型探析
- 賭博酒駕警示教育
- 產(chǎn)業(yè)園物業(yè)管理實施方案
- 管理學基礎(chǔ)-形考任務三-國開-參考資料
- 梁曉聲母親測試題及答案
評論
0/150
提交評論