using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.IO;
class Program
{
static void Main(string[] args)
{
if (args.Length != 4 && args.Length != 6)
{
Console.WriteLine("piccut.exe x1 x2 w1 h1 ");
Console.WriteLine("piccut.exe x1 x2 w1 h1 w2 h2");
Console.ReadLine();
return;
}
int x1 = 0, y1 = 0, w1 = 0, h1 = 0, w2 = 0, h2 = 0;
try
{
if (args.Length == 4)
{
x1 = int.Parse(args[0]);
y1 = int.Parse(args[1]);
w2 = w1 = int.Parse(args[2]);
w1 = h1 = int.Parse(args[3]);
}
if (args.Length == 6)
{
x1 = int.Parse(args[0]);
y1 = int.Parse(args[1]);
w1 = int.Parse(args[2]);
h1 = int.Parse(args[3]);
w2 = int.Parse(args[4]);
h2 = int.Parse(args[5]);
}
}
catch (Exception err)
{
Console.WriteLine(err.Message);
return;
}
string path = AppDomain.CurrentDomain.BaseDirectory;
string save = Path.Combine(path, "save");
if (Directory.Exists(save) == false) Directory.CreateDirectory(save);
string[] files = Directory.GetFiles(path, "*.*");
foreach (string item in files)
{
try
{
Console.WriteLine(item);
Bitmap src = new Bitmap(item);
Bitmap dst = new Bitmap(w2, h2, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(dst);
g.CompositingQuality = CompositingQuality.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.DrawImage(src, new Rectangle(0, 0, w2, h2), new Rectangle(x1, x1, w1, w2), GraphicsUnit.Pixel);
string savefile = Path.Combine(save, Path.ChangeExtension(Path.GetFileName(item), ".png"));
dst.Save(savefile, System.Drawing.Imaging.ImageFormat.Png);
src.Dispose();
dst.Dispose();
g.Dispose();
}
catch (Exception err)
{
Console.WriteLine(err.Message);
}
}
Console.WriteLine("完成");
Console.Read();
}
}
图片裁剪功能
最新推荐文章于 2023-06-08 16:19:17 发布