基本信息
源码名称:C# 将图片合成tif文件
源码大小:10.10M
文件格式:.zip
开发语言:C#
更新时间:2020-06-05
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍


using BitMiracle.LibTiff.Classic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using NPOI.SS.Util;

namespace ConsoleApplication2
{
    class Program
    {
        //C:\Users\Administrator\Desktop\
        static void Main(string[] args)
        {
            MemoryStream ms = new MemoryStream();
            using (Tiff tif = Tiff.ClientOpen(@"in-memory", "w", ms, new TiffStream()))
            {
                string imgpath = @"C:\Users\SJ\Desktop\新建文件夹";
                string[] fl = System.IO.Directory.GetFiles(imgpath);

                //DecimalFormat mFormat = new DecimalFormat("000");
                //for (int i = 0; i < fl.Length; i  )
                //{
                //    FileInfo fi = new FileInfo(fl[i]);
                //    if (fi.Exists)
                //    {
                //        fi.MoveTo(fl[i].Replace("png", "jpg"));
                //    }
                //    fl[i] = fl[i].Replace("png", "jpg");
                //}

                foreach (var item in System.IO.Directory.GetFiles(imgpath))//
                //foreach (var item in fl)//
                {
                    using (Bitmap bmp = new Bitmap(item))
                    {
                        tif.SetField(TiffTag.PLANARCONFIG, PlanarConfig.CONTIG);
                        tif.SetField(TiffTag.IMAGEWIDTH, bmp.Width);
                        tif.SetField(TiffTag.IMAGELENGTH, bmp.Height);

                        tif.SetField(TiffTag.COMPRESSION, Compression.JPEG);
                        tif.SetField(TiffTag.PHOTOMETRIC, Photometric.YCBCR);
                        tif.SetField(TiffTag.YCBCRSUBSAMPLING, 2, 2);
                        tif.SetField(TiffTag.BITSPERSAMPLE, 8);
                        tif.SetField(TiffTag.SAMPLESPERPIXEL, 3);
                        tif.SetField(TiffTag.ROWSPERSTRIP, bmp.Height);

                        var data = GetImage(bmp);
                        tif.WriteRawStrip(0, data, data.Length);

                    }
                    tif.WriteDirectory();
                }
                System.IO.FileStream fs = new FileStream(@"C:\Users\SJ\Desktop\aaa.tif", FileMode.Create);
                ms.Seek(0, SeekOrigin.Begin);
                fs.Write(ms.ToArray(), 0, (int)ms.Length);
                fs.Close();
                //foreach (string f in System.IO.Directory.GetFiles(imgpath))
                //{
                //    //删除文件
                //    File.Delete(f);
                //}
            }
        }
        static byte[] GetImage(Bitmap bmp)
        {
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            bmp.Save(ms, ImageFormat.Jpeg);
            return ms.ToArray();
        }
    }
}