C#winform 图片批量调整大小工具 代码

C#winform_图片批量调整大小工具_代码


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;

namespace 图片调整工具
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }







        public void MakeThumbnail(string imgPath_old, int width, int height)
        {
            try
            {

                System.Drawing.Image img = System.Drawing.Image.FromStream(new System.IO.MemoryStream(System.IO.File.ReadAllBytes(imgPath_old)));

                int towidth = width; int toheight = height;
                int x = 0; int y = 0; int ow = img.Width;
                int oh = img.Height;
                // 按值较大的进行等比缩放(不变形) 
                if ((double)img.Width / (double)towidth < (double)img.Height / (double)toheight)
                {
                    toheight = height;
                    towidth = img.Width * height / img.Height;
                }
                else
                {
                    towidth = width;
                    toheight = img.Height * width / img.Width;
                }
                //新建一个bmp图片
                System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight);
                //新建一个画板
                System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
                //设置高质量插值法
                g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
                //设置高质量,低速度呈现平滑程度
                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                //清空画布并以透明背景色填充
                g.Clear(System.Drawing.Color.Transparent);
                //在指定位置并且按指定大小绘制原图片的指定部分
                g.DrawImage(img, new System.Drawing.Rectangle(0, 0, towidth, toheight),
                new System.Drawing.Rectangle(x, y, ow, oh),
                System.Drawing.GraphicsUnit.Pixel);

                bitmap.Save(imgPath_old, System.Drawing.Imaging.ImageFormat.Jpeg);
                bitmap.Dispose();
                img.Dispose();
                g.Dispose();
            }
            catch
            {


            ///   Response.Write("<script>alert('系统检测到您上传的图片存在问题!';</script>");
            }
        }
















        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;




        }

        private void timer1_Tick(object sender, EventArgs e)
        {


            try
            {

                int index = listBox2.SelectedIndex;
                listBox2.SelectedIndex = index + 1;//下移
            }
            catch
            {

                timer1.Enabled = false;
            }



            MakeThumbnail(listBox2 .Text , 35, 35);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            string filepath = @"D:\\e\\图片";
            //显示指定路径下的文件夹
            DirectoryInfo dir = new DirectoryInfo(filepath);
            foreach (DirectoryInfo d in dir.GetDirectories())
            {
                listBox1.Items.Add(d.Name);  ///  这里是获取 文件名

                listBox2.Items.Add(d.FullName);  /// 这里是获取完整路径文件名

            }
            //显示指定路径下的文件
            FileInfo[] file = dir.GetFiles("*.*");
            foreach (FileInfo f in file)
            {
                listBox1.Items.Add(f.Name);
                listBox2.Items.Add(f.FullName);
            }

        }
    }
}





winform代码
桂ICP备16004754号