C# Tif格式转Jpg
生活随笔
收集整理的這篇文章主要介紹了
C# Tif格式转Jpg
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C# Tif格式轉Jpg
首先,關于啥是Tif(TIFF)格式,就讓鄙人來解釋解釋吧…內個啥,還是讓度娘來吧。TIFF格式
接下來,讓我撿個狗屎給大家舔一舔吧(不聽故事的請跳過這一段,直接看代碼)。上一個Web項目中,很尋常的使用了報表打印功能(MIS系統嘛,這很正常),項目順利,尋常。后來有一天客戶突然跟我說要加個報表生成圖片的功能,原因是客戶居然拿著手機在玩這個系統(本來想哪天需要搞個APP的時候再賺一筆的,好吧,我認了)。于是乎,我就幫客戶做了導出圖片的功能,其實也簡單,使用報表工具直接導出就可以了。報表一般是支持導出Excel、PDF、RTF、TIF格式的,so,我直接導出了TIF格式。就這兩天,客戶跟我說,多頁的報表導出來只有第一頁,這…好像理所當然,導出的是TIF格式的,你手機上也只能當圖片看了。怎么說也是沒有考慮到位,就幫客戶改了。
廢話就這么多吧,下面直接上代碼。
public void ConvertTiff2Jpeg(string tiffFileName, string jpegFileName){var img = Image.FromFile(tiffFileName);var count = img.GetFrameCount(FrameDimension.Page);for (int i = 0; i < count; i++){img.SelectActiveFrame(FrameDimension.Page, i);img.Save(jpegFileName + ".part" + i + ".jpg");}int imageWidth = img.Width;int imageHeight = img.Height * count;Bitmap joinedBitmap = new Bitmap(imageWidth, imageHeight);Graphics graphics = Graphics.FromImage(joinedBitmap);for (int i = 0; i < count; i++){var partImageFileName = jpegFileName + ".part" + i + ".jpg";Image partImage = Image.FromFile(partImageFileName);graphics.DrawImage(partImage, 0, partImage.Height * i, partImage.Width, partImage.Height);partImage.Dispose();File.Delete(partImageFileName);}joinedBitmap.Save(jpegFileName);graphics.Dispose();joinedBitmap.Dispose();img.Dispose();//return jpegFileName;}這段代碼并沒有依賴特殊類庫,也沒有復雜的處理。大概思路就是使用Image類讀取Tif文件的每一幀,使用Graphic類畫一個圖片,根據頁數頁碼計算生成后的圖片總像素大小跟每一頁的位置就可以了。
總結
以上是生活随笔為你收集整理的C# Tif格式转Jpg的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python tif转jpg_无法将ti
- 下一篇: c# char unsigned_dll