Creando imágenes divertidas en C#

En este artículo vamos a sacar a los artistas que llevamos dentro. Pero diréis, pero si yo no sé ni dibujar ni la típica carita sonriente. Tranquilos, para este tutorial no te harán falta tus dotes ni de dibujo, ni de escultura, ni nada que utilizases en la asignatura de plástica. Solo utilizaremos lo que mejor se nos da, la programación. En efecto, vamos a dibujar utilizando la programación como base.

Bueno, dibujar no sería la palabra más apropiada para lo que vamos a hacer hoy, más bien diría que lo que haremos va a ser experimentar creando imagenes mediante el lenguaje de programación C#. Específicamente crearemos arte abstracto, creando figuras oníricas y colores, no os esperéis que vamos a dibujar Las Meninas de Velazquez. ¿Estás preparado para crear un poco de arte programando? ¡Pues vamos allá!

Lo primero que necesitaremos es conocer cómo se hacen los píxeles, cómo pensar en imágenes en términos de píxeles y el uso de bucles en ellas. El SDK Imaging nos servirá para mantener las configuraciones del tamaño de la imagen y aplicar efectos. El diseño de la aplicación sería el siguiente:

Las barras de control, manejarían estos colores:

  • Rojo
  • Azul
  • Verde

En el siguiente código os muestro cómo jugar con las imágenes:

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

namespace Imaging
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void rndBtn_Click( object sender, EventArgs e )
        {
            rndBtn.Enabled = false;

            ImageSizeConfiguration Config = 
            new ImageSizeConfiguration(ImageSizeConfiguration.SizeConfig.S_720p);
            ImagingSDK.ImageProcessor imgPrcsr = 
            new ImagingSDK.ImageProcessor(@"C://1.bmp", Config);

            Bitmap image = new Bitmap(imgPrcsr.sizeConfig.width, imgPrcsr.sizeConfig.height);


            int a, r, b, g, x2, y2;

            Random rand = new Random();

            int Width = 5, PrevX = 0;

            Color c = Color.FromArgb(rand.Next(0, 255), RedTrack.Value, GreenTrack.Value, BlueTrack.Value);

            for (int x = 0; x < imgPrcsr.sizeConfig.width; x++)
            {
                if (x - PrevX == Width)
                {
                    PrevX = x;
                    //create random pixels
                    a = rand.Next(100, 200);
                    r = RedTrack.Value;
                    g = GreenTrack.Value;
                    b = BlueTrack.Value;

                    c = Color.FromArgb(a, r, g, b);
                }

                for (int y = 0; y < imgPrcsr.sizeConfig.height; y++)
                {
                    image.SetPixel(x, y, c);
                }
            }
            
            image.Save("1.png", ImageFormat.Png);

            Viewer.Image = image;

            rndBtn.Enabled = true;
        }

        private void loadBtn_Click( object sender, EventArgs e )
        {

        }
    }
}    

Resultados:

Y este ha sido el artículo en el que trataba explicaros como crear imágenes divertidas en C#, esperamos que te haya gustado y sepas aplicarlo en tus futuros proyectos. Ya sabes que si nos quieres proponer un tema que quieres ver reflejado como un tutorial o como una práctica, solo tienes que hacer uso del área de comentarios de un poco más abajo. Por el contrario, si quieres enviarnos tus propios tutoriales, puedes hacerlo a través de la intranet de usuarios que está habilitada para ello, a través del menú Enviar Tutorial. Ya sabes, ayúdanos a crecer con tus conocimientos. ¡Un saludo y feliz código!

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP