资源简介

基于C#开发的图片色阶处理工具,按照PhotoShop的自动色阶10%的参数处理图片色阶。开放源代码可直接嵌入其他程序中。

资源截图

代码片段和文件信息

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Imaging;

namespace AutoColorLevel
{
    public partial class frmMain : Form
    {
        private string path = ““;
        public frmMain()
        {
            InitializeComponent();
        }

        private void btnOpen_Click(object sender EventArgs e)
        {
            using (OpenFileDialog openFileDialog = new OpenFileDialog())
            {
                openFileDialog.Filter = “照片文件(*.jpg)|*.jpg“;
                if (path == ““)
                    openFileDialog.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
                else
                    openFileDialog.InitialDirectory = path;
                openFileDialog.title = “请选择待处理的照片文件“;
                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    label1.Text = openFileDialog.FileName;
                    if(label1.Text!=““)
                        path = System.IO.Path.GetDirectoryName(label1.Text);
                }
            }
        }

        private void label1_TextChanged(object sender EventArgs e)
        {
            if (label1.Text == ““)
                return;
            try
            {
                pictureBox1.Image = Image.FromFile(label1.Text);
            }
            catch(Exception ex)
            {
                MessageBox.Show(“加载照片失败!\n“ + ex.Message “异常“ MessageBoxButtons.OK MessageBoxIcon.Exclamation);
                label1.Text = ““;
            }
        }

        private void btnAccept_Click(object sender EventArgs e)
        {
            if (label1.Text == ““)
            {
                return;
            }
            Bitmap bmp = new Bitmap(label1.Text);
            Rectangle rect = new Rectangle(0 0 bmp.Width bmp.Height);
            BitmapData bmpd = bmp.LockBits(rect System.Drawing.Imaging.ImageLockMode.ReadWrite bmp.PixelFormat);
            AutoColorLevels(bmpd bmpd);
            bmp.UnlockBits(bmpd);
            pictureBox2.Image = (Image)bmp;
        }

        unsafe private static void AutoColorLevels(BitmapData bmpd BitmapData pbmpd)
        {
            int i = 0 j = 0 k = 0;
            int m_Height = bmpd.Height m_Width = bmpd.Width;
            double cutParam = 0.1d; //参照PhotoShop中的自动色阶的裁剪参数,此处设置为为0.1%
            double doubleThreshod = bmpd.Height * bmpd.Width * cutParam * 0.01;  //由于是0.1%,所以再×0.01
            int[] HistBGR = new int[3 256]; //B G R
            byte[] SpeedBGR = new byte[3 256];
            int Threshold = Convert.ToInt32(doubleThreshod);
            int Integral = 0;
            int NewMin = 0;
            int NewMax = 0;

            byte* scan0 = (byte*)bmpd.Scan0.ToPointer();
            byte* pscan0 = (byte*)pbmpd.Scan0.ToPointer();
            byte* ptr pptr;

            //获得直方图数组
            for (i = 0; i <

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     47104  2016-07-25 11:13  AutoColorLevel\.vs\AutoColorLevel\v14\.suo

     文件        189  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\App.config

     文件       3763  2016-07-02 18:11  AutoColorLevel\AutoColorLevel\AutoColorLevel.csproj

     文件        228  2016-07-01 18:49  AutoColorLevel\AutoColorLevel\AutoColorLevel.csproj.user

     文件      13312  2016-07-02 18:42  AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.exe

     文件        189  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.exe.config

     文件      24064  2016-07-02 18:42  AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.pdb

     文件      22696  2016-07-25 11:13  AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.vshost.exe

     文件        189  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.vshost.exe.config

     文件        490  2015-10-22 09:54  AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.vshost.exe.manifest

     文件       6893  2016-07-02 18:41  AutoColorLevel\AutoColorLevel\frmMain.cs

     文件       7756  2016-07-02 17:34  AutoColorLevel\AutoColorLevel\frmMain.Designer.cs

     文件       5817  2016-07-02 17:34  AutoColorLevel\AutoColorLevel\frmMain.resx

     文件       1652  2016-07-25 11:13  AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.csproj.FileListAbsolute.txt

     文件       1014  2016-07-02 18:42  AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.csproj.GenerateResource.Cache

     文件      13312  2016-07-02 18:42  AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.exe

     文件        180  2016-07-02 18:42  AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.frmMain.resources

     文件      24064  2016-07-02 18:42  AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.pdb

     文件        180  2016-07-02 18:42  AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.Properties.Resources.resources

     文件       1464  2016-07-02 14:54  AutoColorLevel\AutoColorLevel\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       6709  2016-07-02 18:11  AutoColorLevel\AutoColorLevel\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件        528  2016-07-02 17:25  AutoColorLevel\AutoColorLevel\Program.cs

     文件       1336  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\Properties\AssemblyInfo.cs

     文件       2841  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\Properties\Resources.Designer.cs

     文件       5612  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\Properties\Resources.resx

     文件       1101  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\Properties\Settings.Designer.cs

     文件        249  2016-07-01 14:45  AutoColorLevel\AutoColorLevel\Properties\Settings.settings

............此处省略16个文件信息

评论

共有 条评论