using System;
using System.Drawing;
using System.IO;
class Program
{
static void Main(string[] args)
{
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(src.Width, src.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
for (int x = 0; x < src.Width; x++)
{
for (int y = 0; y < src.Height; y++)
{
var c = src.GetPixel(x, y);
if (c.R < 180 && c.G < 180 && c.B < 180) //多黑被保留
{
var a3 = (c.R + c.B + c.G) / 3;
var a = 255 - a3; //越黑越不透明
dst.SetPixel(x, y, Color.FromArgb(a, a3, a3, a3));
}
else
dst.SetPixel(x, y, Color.Transparent);
}
}
string savefile = Path.Combine(save, Path.ChangeExtension(Path.GetFileName(item), ".png"));
dst.Save(savefile, System.Drawing.Imaging.ImageFormat.Png);
src.Dispose();
dst.Dispose();
}
catch (Exception err)
{
Console.WriteLine(err.Message);
}
}
Console.WriteLine("完成");
Console.Read();
}
}
去除背景颜色,留下黑线条颜色
最新推荐文章于 2024-07-12 09:13:55 发布