日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# Tif格式转Jpg

發布時間:2023/12/8 C# 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。