【问题标题】:Putting colors on an image in C#在 C# 中为图像添加颜色
【发布时间】:2010-12-01 17:01:33
【问题描述】:

我已使用这段代码将图像放入变量中。我想做的是在各个地方画点,然后保存结果。

我所做的是打开一个对话框来选择文件并检查它是否有效,我将它放在图片框中。使用winforms offcourse。使用 Visual Studio 2008 Professional。

编辑:您在下面看到的 openImg 变量用作我给我正在使用的 openFileDialog 实例命名的名称。

private string CurrentFile;
private Image img;

private void fileToolStripMenuItem_Click(object sender, EventArgs e)
{
    openImg.Title = "Open Image File";
    openImg.Filter = "JPEG Files|*.jpg" +
                     "|Enhanced Windows MetaFile|*.emf" +
                     "|Exchangeable Image File|*.exif" +
                     "|Gif Files|*.gif|Icons|*.ico" +
                     "|PNG Files|*.png|TIFF Files|*.tif|Windows MetaFile|*.wmf";
    openImg.DefaultExt = "jpg";
    openImg.FilterIndex = 1;
    openImg.FileName = "";
    openImg.ShowDialog();
    if (openImg.FileName == "")
    {
        return;
    }
    CurrentFile = openImg.FileName.ToString();
    img = Image.FromFile(openImg.FileName);
    pictureBox1.Image = img;
}

到目前为止一切顺利。

完成第一阶段后,我想定义一个 Color 对象,以便以后可以使用它在某些位置进行绘制。

不过,我以前从未与他们合作过。

Color yellow = new Color();

我意识到仅仅将其命名为“黄色”不会使其变黄,但我没有选择颜色的选项... Visual Studio 甚至没有在自动完成中显示变量。我有点难过。我想做的是在图像上定义某个区域以绘制某种颜色。

【问题讨论】:

    标签: c# winforms image drawing colors


    【解决方案1】:

    您无法按照问题中的方式构建新颜色。 Color 上有很多静态的 properties 用于不同的颜色,以及一些定义自己颜色的方法(参见 FromArgb 示例)。

    要获得黄色,您想使用Color.Yellow


    要在图像上绘图,您想使用Graphics.FromImage(img) 来获取Graphics 的实例,使用它可以直接在图像上绘图。看看methods of Graphics 了解如何绘制线条、曲线、形状等...

    【讨论】:

    • 谢谢,我应该查一下关于 Color 的 MSDN 文档。
    【解决方案2】:

    用途:

    Color yellow = Color.Yellow;
    

    【讨论】:

      【解决方案3】:

      如果你输入这个:

      Color yellow = Color.
      

      ...一旦您键入“.”,您将看到一个 Intellisense 弹出窗口,其中列出了 Color 类可用的属性和方法。

      有时可以使用“新”语法来实例化类,有时则不能(例如 Color)。在任何给定的情况下,我都无法真正告诉你为什么,但是当编译器告诉你“新”语法不起作用时,养成检查静态实例创建方法的习惯是很好的。

      【讨论】:

        【解决方案4】:

        颜色黄色 = Color.Yellow 或颜色黄色 = Color.FromArgb(0, 255, 255)

        【讨论】:

          猜你喜欢
          • 2019-05-10
          • 1970-01-01
          • 2019-01-12
          • 1970-01-01
          • 1970-01-01
          • 2021-05-16
          • 2012-12-27
          • 1970-01-01
          • 2018-06-10
          相关资源
          最近更新 更多