[C# Helper]
Index Books FAQ Contact About Rod
[Beginning Database Design Solutions, Second Edition]

[Beginning Software Engineering, Second Edition]

[Essential Algorithms, Second Edition]

[The Modern C# Challenge]

[WPF 3d, Three-Dimensional Graphics with WPF and C#]

[The C# Helper Top 100]

[Interview Puzzles Dissected]

[C# 24-Hour Trainer]

[C# 5.0 Programmer's Reference]

[MCSD Certification Toolkit (Exam 70-483): Programming in C#]

Title: Colorize images by remapping colors in C#

[Colorize images by remapping colors in C#]

This example is an extension of the example Colorize images in C#. The new version of the program provides two new menus, Swap and Remap.

  • Swap
    • Red/Green
    • Red/Blue
    • Green/Blue
  • Remap
    • Red to Yellow
    • Red to Orange
    • Red to Fuchsia
    • Red to White
    • Red to Black

These menu commands place predefined values in the color matrix text boxes. For example, the following code shows how the Remap > Red to Fuchsia command works.

private void mnuRedToFuchsia_Click(object sender, EventArgs e) { MakeIdentity(); TextBoxes[0][0].Text = "1.3000"; TextBoxes[0][2].Text = "1.3000"; TextBoxes[1][1].Text = "0.5000"; TextBoxes[2][2].Text = "0.0000"; ColorPicture(); }

The call to MakeIdentity the text boxes to form an identity matrix. (Zeros everywhere except the diagonal, which contains ones.) It then sets the following entries to new values.

  • TextBoxes[0][0]: Makes the red component equal 1.3 times its original value
  • TextBoxes[0][2]: Makes the blue component equal 1.3 times the original red component value
  • TextBoxes[1][1]: Makes the green component equal 0.5 times its original value
  • TextBoxes[2][2]: Removes the original blue component value

The other menu commands work similarly.

I only implemented these commands because those are the only ones I needed for my current project, but it would be easy enough to add similar commands to perform other color manipulations. For example, you could add a Green to Orange command.

Download the example to experiment with it and to see additional details.

© 2009-2023 Rocky Mountain Computer Consulting, Inc. All rights reserved.