• 大小: 10.56MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-08
  • 语言: C#
  • 标签: C#  图像亮度  MagickImage  

资源简介

由于一个项目需要,调节图片的亮度,开始使用遍历图片每一个像素,并修改图像的RGB值,发现修改后无法恢复到原来图像。在网上查了一些资料,发现了强大的MagickImage,给大家分享一下,希望对大家有所帮助。

资源截图

代码片段和文件信息

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

namespace SetImageHSL
{
    public partial class Form1 : Form
    {
        private ImageMagick.MagickImage originalMagickImage;
        public Form1()
        {
            InitializeComponent();
        }

        private void button3_Click(object sender EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                pictureBox2.Image = Image.FromFile(openFileDialog1.FileName);
                pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
                originalMagickImage = new ImageMagick.MagickImage(openFileDialog1.FileName);
            }
        }

        private void trackBar1_Scroll(object sender EventArgs e)
        {
            lbHue.Text = trackBarH.Value.ToString();
            if (pictureBox2.Image == null)
                return;
            ImageMagick.MagickImage newImage = new ImageMagick.MagickImage(originalMagickImage); // 相当于深复制
            ImageMagick.Percentage brightness = new ImageMagick.Percentage(trackBarL.Value); // 100%表示不改变该属性
            ImageMagick.Percentage hue = new ImageMagick.Percentage(trackBarH.Value); // 100%表示不改变该属性
            ImageMagick.Percentage saturation = new ImageMagick.Percentage(trackBarS.Value); // 100%表示不改变该属性
            newImage.Modulate(brightness saturation hue);
            pictureBox2.Image = newImage.ToBitmap();
        }

        private void trackBarS_Scroll(object sender EventArgs e)
        {
            lbS.Text = trackBarS.Value.ToString();
            if (pictureBox2.Image == null)
                return;
            ImageMagick.MagickImage newImage = new ImageMagick.MagickImage(originalMagickImage); // 相当于深复制
            ImageMagick.Percentage brightness = new ImageMagick.Percentage(trackBarL.Value); // 100%表示不改变该属性
            ImageMagick.Percentage hue = new ImageMagick.Percentage(trackBarH.Value); // 100%表示不改变该属性
            ImageMagick.Percentage saturation = new ImageMagick.Percentage(trackBarS.Value); // 100%表示不改变该属性
            newImage.Modulate(brightness saturation hue);
            pictureBox2.Image = newImage.ToBitmap();
        }

        private void trackBarL_Scroll(object sender EventArgs e)
        {
            lbL.Text = trackBarL.Value.ToString();
            if (pictureBox2.Image == null)
                return;
            ImageMagick.MagickImage newImage = new ImageMagick.MagickImage(originalMagickImage); // 相当于深复制
            ImageMagick.Percentage brightness = new ImageMagick.Percentage(trackBarL.Value); // 100%表示不改变该属性
            ImageMagick.Percentage hue = new ImageMagick.Percentage(trackBarH.Value); // 100%表示不改变该属性
            ImageMagick.Percentage saturation = new ImageMagick.Percentage(trackBarS.Value); // 100%表示不改变该属性
    

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

     文件   12527160  2018-08-06 17:03  SetImageHSL\bin\Debug\Magick.NET-Q16-AnyCPU.dll

     文件    1331645  2018-08-06 17:03  SetImageHSL\bin\Debug\Magick.NET-Q16-AnyCPU.xml

     文件      12288  2018-08-08 10:53  SetImageHSL\bin\Debug\SetImageHSL.exe

     文件      22016  2018-08-08 10:53  SetImageHSL\bin\Debug\SetImageHSL.pdb

     文件      24216  2018-08-08 10:27  SetImageHSL\bin\Debug\SetImageHSL.vshost.exe

     文件        490  2013-03-18 17:00  SetImageHSL\bin\Debug\SetImageHSL.vshost.exe.manifest

     文件       3313  2018-08-08 10:53  SetImageHSL\Form1.cs

     文件       9859  2018-08-08 10:47  SetImageHSL\Form1.Designer.cs

     文件       6194  2018-08-08 10:47  SetImageHSL\Form1.resx

     文件     215628  2018-08-08 11:01  SetImageHSL\MagickImage安装方法.docx

     文件       6963  2018-08-08 10:24  SetImageHSL\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件        670  2018-08-08 10:53  SetImageHSL\obj\Debug\SetImageHSL.csproj.FileListAbsolute.txt

     文件        977  2018-08-08 10:53  SetImageHSL\obj\Debug\SetImageHSL.csproj.GenerateResource.Cache

     文件      12288  2018-08-08 10:53  SetImageHSL\obj\Debug\SetImageHSL.exe

     文件        180  2018-08-08 10:53  SetImageHSL\obj\Debug\SetImageHSL.Form1.resources

     文件      22016  2018-08-08 10:53  SetImageHSL\obj\Debug\SetImageHSL.pdb

     文件        180  2018-08-08 10:53  SetImageHSL\obj\Debug\SetImageHSL.Properties.Resources.resources

     文件        148  2018-08-08 10:24  SetImageHSL\packages.config

     文件        492  2018-08-08 10:13  SetImageHSL\Program.cs

     文件       1364  2018-08-08 10:13  SetImageHSL\Properties\AssemblyInfo.cs

     文件       2874  2018-08-08 10:13  SetImageHSL\Properties\Resources.Designer.cs

     文件       5612  2018-08-08 10:13  SetImageHSL\Properties\Resources.resx

     文件       1098  2018-08-08 10:13  SetImageHSL\Properties\Settings.Designer.cs

     文件        249  2018-08-08 10:13  SetImageHSL\Properties\Settings.settings

     文件       3947  2018-08-08 10:27  SetImageHSL\SetImageHSL.csproj

     目录          0  2018-08-08 10:13  SetImageHSL\obj\Debug\TempPE

     目录          0  2018-08-08 10:53  SetImageHSL\bin\Debug

     目录          0  2018-08-08 10:53  SetImageHSL\obj\Debug

     目录          0  2018-08-08 10:13  SetImageHSL\bin

     目录          0  2018-08-08 10:13  SetImageHSL\obj

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

评论

共有 条评论