首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库C#算法设计

使用C#批量生成缩略图的工具源代码

减小字体 增大字体 作者:孤星浪子  来源:博客网  发布时间:2010-03-03 18:02:00

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Threading;
using System.IO;
using System.Diagnostics;
using System.Windows.Forms.Design;
namespace Image
{
    public class ImageConvert 
    {
        public static void ShowThumbnail( string oldfile, 
        string newfile, 
        int h, 
        int w )  
        {
            System.Drawing.Image img = System.Drawing.Image.FromFile( oldfile );
            System.Drawing.Image.GetThumbnailImageAbort myCallback = new System.Drawing.Image.GetThumbnailImageAbort( ThumbnailCallback );
            
            int oldh = img.Height;
            
            int oldw = img.Width;
            
            int newh,neww;
            double h1 = oldh*1.0/h;
            double w1 = oldw*1.0/w;
            double f = ( h1>w1 )? h1:w1;
            if( f < 1.0 )
            {
                newh = oldh;
                neww = oldw;
            }
            else
            {
                newh = ( int )( oldh/f );
                neww = ( int )( oldw/f );
            }
            System.Drawing.Image myThumbnail = img.GetThumbnailImage( neww, newh, myCallback, IntPtr.Zero );
            myThumbnail.Save( newfile, System.Drawing.Imaging.ImageFormat.Jpeg );
            img.Dispose( );
            myThumbnail.Dispose( );
        }
        
        private static bool ThumbnailCallback( )  
        {
            return false;
        }
    }
    
    public class FolderDialog : FolderNameEditor 
    {
        FolderNameEditor.FolderBrowser fDialog = new System.Windows.Forms.Design.FolderNameEditor.FolderBrowser( );
        
        public FolderDialog( )  
        {
        }
        
        public DialogResult DisplayDialog( )  
        {
            return DisplayDialog( "请选择一个文件夹" );
        }
        
        public DialogResult DisplayDialog( string description )  
        {
            fDialog.Description = description;
            return fDialog.ShowDialog( );
        }
        
        public 
        string Path  
        {
            get
            {
                return fDialog.DirectoryPath;
            }
        }
        ~FolderDialog( )  
        {
            fDialog.Dispose( );
        }
    }
    

[1] [2] [3] [4]  下一页

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

  • 好评
  • 给好评 如果您觉得此内容好,就请您
      100%(4)
  • 顶一个
  • 差评
  • 给差评 如果您觉得此内容差,就请您
      0%(0)
  • 踩一下

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.