Tif文件转换成GIF列表

ExpandedBlockStart.gif 代码
  ///   <summary>
        
///  将TIF文件转换为GIF文件列表
        
///   </summary>
        
///   <param name="fileName"> 要转换的TIF文件 </param>         
        
///   <returns> 转换后生成的GIF文件路径 </returns>
         public   static  IList < string >  ConvertTifToGif( string  fileName)
        {
            IList
< string >  list  =   new  List < string > ();

            
string  dic  =  AppDomain.CurrentDomain.BaseDirectory  +   " \\tempgif\\ " ;

            
if  ( ! Directory.Exists(dic))
            {
                Directory.CreateDirectory(dic);
            }

            
if  ( string .IsNullOrEmpty(fileName))
            {
                
throw   new  ArgumentException( " 转换的TIF文件路径不能为空 " );
            }

            FileInfo file 
=   new  FileInfo(fileName);

            
if  ( ! file.Exists)
            {
                
throw   new  FileNotFoundException( " 待转换的TIF文件不存在 " );
            }

            Image imgObj 
=  Image.FromFile(file.FullName);


            
// Image imgObj = imgObj2.GetThumbnailImage(imgObj2.Width / 3 * 2, imgObj2.Height / 3 * 2, null, IntPtr.Zero);  // Image.FromFile(file.FullName);

            Guid objGuid 
=  (Guid)imgObj.FrameDimensionsList.GetValue( 0 );

            FrameDimension objDimension 
=   new  FrameDimension(objGuid);
            

            
int  totalImage  =  imgObj.GetFrameCount(objDimension);

            
for  ( int  index  =   0 ; index  <  totalImage; index ++ )
            {
                
string  gifPath  =  dic  +  file.Name.Substring( 0 , file.Name.LastIndexOf( ' . ' ))  +   " _ "   +  index  +   " .gif " ;

                
if  (File.Exists(gifPath))
                {
                    File.Delete(gifPath);
                }

               
// EncoderParameter en = new EncoderParameter();

                imgObj.SelectActiveFrame(objDimension, index);
                imgObj.Save(gifPath, ImageFormat.Gif);
                FileInfo item 
=   new  FileInfo(gifPath);
                list.Add(
" tempgif\\ "   +  item.Name);
            }

            
return  list;
        }

 

转载于:https://www.cnblogs.com/Magicam/archive/2010/08/20/1804522.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值