domingo, 20 de octubre de 2013

INCONVENIENTES

  • "CONTROL MINIMIZAR", al seleccionarlo y volver a darle click en el mismo se nos borran las figuras dibujadas.

  • "CONTROL CERRAR", no podemos asignarle que nos permita elegir si se desea guardar el Lienzo modificado o no.

  • "BOTÓN GUARDAR", podemos guardar con diferentes extensiones como: .png, .bmp, .jpeg, .gif, etc; pero no podemos abrir con un visor de imágenes.

  • "RELLENO", el pintar con un relleno las figuras y que su contorno sea de otro color.  











miércoles, 16 de octubre de 2013

DIAGRAMA ACCESO (Lluvia de Ideas)


Este es otro prototipo de la forma que estará estructurado nuestro Paint, en este se muestra varias cosas como: Las clases que se encuentran en el PAINT, el formulario de Autenticación para el Cliente y el de su Registro si es que no se ha registrado aún.

Hemos pensado que para guardar los lienzos de cada usuario vamos a usar una Base de Datos que se llama "Lienzos" y cada usuario tendrá un Álbum de Lienzos donde podrá encontrar todos los Paint que el ha creado.

La entrada anterior y esta son tentativas ya que en el transcurso de la creación de nuestra aplicación vamos realizando los diferentes cambios que se necesita para el desarrollo de nuestro Paint.

domingo, 13 de octubre de 2013

Diagramas (Lluvia de ideas)

Aquí presentamos la lluvia de ideas del acceso de usuarios en diagramas, los cuales nos permitirán almacenar en la base de datos a los usuarios y autenticar los como a su vez  almacenar los lienzos de cada usuario en álbumes únicos de cada usuario.


También tuvimos inconvenientes ya que la investigar por la red el código para dibujar cuadrados y círculos no nos posibilita primero al hacer click se dibuje un cuadrado o un circulo, dibuja figuras infinitas, eso lo solucionamos de la siguiente manera, ya que controlamos con el MouseMov, declaramos una variable booleana pulsar y utilizamos los eventos MouseUP y Mouse Down que la variable PULSAR sera true al estar presionada es decir en el evento MouseDown y false en el evento MouseUP.
CODIGO:
     
        //Variable que permite manipular el dibujar los cuadrados o círculos al dar click y que no dibuje varias           figuras(cuadrados, círculos) solamente al mover el mouse.
        public bool pulsar;
        //Evento que muestra que el mouse esta presionado.
        private void picMostrarLienzo_MouseDown(object sender, MouseEventArgs e)
        {
            pulsar = true;
        }
        //Evento que muestra que el mouse esta alzado.
        private void picMostrarLienzo_MouseUp(object sender, MouseEventArgs e)
        {
            pulsar = false;
        }
        private void picMostrarLienzo_MouseMove(object sender, MouseEventArgs e)
        {
            Graphics objGrafico = picMostrarLienzo.CreateGraphics();

            if (pulsar)
            {

                if (forma == "cuadrado")
                {
                    Pen objLapiz = new Pen(colorDialog1.Color,grosor);
                    objGrafico.DrawRectangle(objLapiz, new Rectangle(e.X, e.Y, diametro, diametro));
                    objLapiz.Dispose();
                    objGrafico.Dispose();

                }

                else
                {

                    Pen objLapiz = new Pen(colorDialog1.Color, grosor);
                     objGrafico.FillEllipse(brocha, new Rectangle(e.X, e.Y, diametro, diametro));
               
                }
            }

        }

Otra dificultad que encontramos fue rellenar un circulo o cuadrado ya dibujado y también al minimizar nuestra aplicación se borra lo dibujado, esto estamos aun investigando en la siguiente entrada lo solucionaremos.

jueves, 10 de octubre de 2013

Programando Paint 1

Empezamos nuestra aplicación por el interfaz gráfico, nuestro lienzo va a ser un picturebox, el cual se lo podrá almacenar según el usuario autenticado, tendremos un menú que permite elegir el COLOR del lienzo y el color de la figura mediante el control ColorDialog, y a igual manera un menú permitirá escoger el TAMAÑO de las figuras (tres alternativas grande, mediano y pequeño)  y del lienzo.





Parte de la programación para elegir los colores  de los lienzos y de la figuras:

        //Este evento permite cambiar el color del lienzo
        //mediante un control ColorDialog
        //el cual muestra una paleta de colores predeterminados o para 
        //escoger alguno nuevo
        private void menuColorLienzo_Click(object sender, EventArgs e)
        {
            if (colorDialog2.ShowDialog() == DialogResult.OK)
            {
                picMostrarLienzo.BackColor = colorDialog2.Color;
            }
        }
        //Este evento permite cambiar el color de la figura
        //mediante un control ColorDialog
        //el cual muestra una paleta de colores predeterminados o para 
        //escoger alguno nuevo
        private void menuColorLapiz_Click(object sender, EventArgs e)
        {

            if (colorDialog1.ShowDialog() == DialogResult.OK)
            {
                menuColorLapiz.BackColor = colorDialog1.Color;
            }
        }
        string forma="";
        //Permite escoger la figura cuadrado
        private void menuFigurasCuadrados_Click(object sender, EventArgs e)
        {
            forma = "cuadrado";
        }
        //Permite escoger la figura círculo
        private void menuFigurasCirculos_Click(object sender, EventArgs e)
        {
            forma = "circulo";
        }
        //Este evento permitirá dibujar los cuadrados o los círculos mediante el mouseMove las figuras se                 dibujarán siguiendo el movimiento del mouse
        private void picMostrarLienzo_MouseMove(object sender, MouseEventArgs e)
        {
        Graphics objGrafico = picMostrarLienzo.CreateGraphics();
                 if ( forma == "cuadrado")
                {
                    Pen objLapiz = new Pen(colorDialog1.Color, 1);
                    objGrafico.DrawRectangle(objLapiz, new Rectangle(e.X, e.Y, 30, 30));
                }
                else
                {                  
                    Pen objLapiz = new Pen(colorDialog1.Color, 1);
                    //Brush brocha = new Brush();
                    objGrafico.DrawEllipse(objLapiz, e.X, e.Y, 50, 50);
                }
        }

     

lunes, 7 de octubre de 2013

Segunda Reunión (LLUVIA DE IDEAS)

Aplicación PAINT con CAO  (Objetos Activados por el Cliente)

Establecimos dos partes para la realización de la aplicación, la primera es el almacenamiento de los datos de cada cliente y el almacenamiento los lienzos de los mismos. y la segunda es la debida programación de la Aplicación Paint.

PRIMERA PARTE:

Requerimientos necesarios para la realización del almacenamiento para la Aplicación Paint.
  •  Se necesitara un servidor en el cual se encuentre toda la funcionalidad (librería) de paint.
  • Se creara el proyecto por medio de objetos remotos activados por el cliente (CAO)
  • Se necesitará un lugar donde se guarde todos los lienzos, hemos pensado en una base de datos y álbumes para cada usuario.
  •   Cada usuario accederá a su respectivo álbum con un nombre de usuario y contraseña (estableciendo la validación de cada campo).
SEGUNDA PARTE
  •  Para la creación de los álbumes pertenecientes a cada usuario se deberá tener:

v Un proyecto en Windows Form el cual contenga todo el entorno de Paint, en este habrá varias funcionalidades tales como:
Abrir
         -nuevo
                     -el tamaño del lienzo

jueves, 3 de octubre de 2013

Proyecto INICIO


Este blog llevará un registro del avance sobre el Proyecto de la implementación de Objetos remotos.

Objetivo Principal:


Registrar todas las actividades posibles para desarrollar un proyecto de aplicaciones distribuidas utilizando objetos remotos activados por el cliente (CAO).

Retos a vencer :

  • Saber en si que es un objeto remoto y cuando se lo puede utilizar de forma apropiada.
  • Revisar la estructura del programa para poder sustentar cada elemento a programar.
El tema a realizar es una aplicación para PAINT.

La cual nos permite escoger una figura (Cuadrados o circulos), el tamaño, el color, etc....