C# Tif格式转Jpg
来源:互联网 发布:如何打开23端口 编辑:程序博客网 时间:2024/05/21 09:25
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类画一个图片,根据页数页码计算生成后的图片总像素大小跟每一页的位置就可以了。
阅读全文
0 0
- C# Tif格式转Jpg
- tif转jpg
- php实现tif转jpg
- C#使用GDAL将tif图像转换为jpg、bmp、png和gif格式的图像
- tif转成jpg文件
- ArcGis把jpg、png格式地图图片转换为tif格式
- 8位灰度TIF转8位灰度JPG
- jpg和tif转pdf遇到的问题和解决方法
- 【JAVA基础】0003--------图片生成缩略图、TIF转JPG
- python 实现tif图片转jpg图片 windows下
- word转tif格式的类文件
- JAVA 实现jpg/tif/bmp 等图片之间格式得互相转换
- JAVA 实现jpg/tif/bmp 等图片之间格式得互相转换
- 利用jpedal进行pdf转换成jpeg,jpg,png,tiff,tif等格式的图片
- 利用jpedal进行pdf转换成jpeg,jpg,png,tiff,tif等格式的图片
- 使用JAVA 实现jpg/tif/bmp 等图片之间格式得互相转换
- JAVA调用GDAL实现影像格式转换,以tif to jpg为例
- JPG格式(转)
- windows internals(深入解析windows操作系统)笔记
- JavaScript运行原理解析
- 从贝叶斯方法谈到贝叶斯网络
- HTTP Server和Application Server
- 解决js浮点数计算不准确问题
- C# Tif格式转Jpg
- Linux基础之tr与重定向管道
- 关于Android下的几个grep命令
- MySQL锁表解决方法
- android实现折线图和柱状图
- NLP之tfidf与textrank算法细节对比基于结巴分词
- python求解圆周率
- C++11中移动语义(std::move)和完美转发(std::forward)
- java夯实基础-类和接口