Professional Documents
Culture Documents
PRACTICA:
DIBUJO EN C#
Alumno:
Aguirre Wences Liliana
13/03/15
INTRODUCCIN:
Se plantea desarrollar este dibujo con el cdigo aprendido en la prctica anterior implementando la mayor
cantidad de elementos posibles.
Gracias a la lectura y la explicacin sobre cmo trabajan las clases graficas en c# , mediante la prctica y
la idea de un dibujo sencillo pero que sea capaz de lograr una complejidad ptima para el desarrollo de
objetos y atributarlos con la exactitud de poder cumplir el dibujo que uno se plantee al inicio de la prctica.
En mi caso opte por un paisaje urbano con una dificultad de trmino medio para poder desarrollar de
manera rpida y aprender bastante sobre la prctica.
Desde el inicio, la mayor dificultad que encuentro es el poder localizar los elementos en los pixeles
ptimos y pintarse con las brochas necesarias.
DESARROLLO:
Despus opte por crear otro botn denominado colorear , en el cual englobe toda la construccin de tipos
de brocas y mtodos de llenado fill , por un objeto graphics para poder aplicarle color a los elementos
trazados con anterioridad, por este motivo , algunos como los polgonos y curvaturas que no pude rellenar
en ese evento, opte por rellenarlos en el segmento anterior de cdigo.
Me funciono de buena manera, pero encontr problemas con la jerarqua de los eventos, por tal motivo
decid cambiar la interfaz y posicionar el botn colorear antes de los trazados para que el usuario disfrute
de manera jerrquica de la aparicin del dibujo.
Para finalizar opte por curvas y elipses para hacer detalles pequeos y poder ser similar al dibujo planteado
originalmente en otro botn y evento clics. De esta manera al presionar los bonotes veran la construccin
del dibujo como fue programada ( a excepcin del coloreado en diferente posicin) y complete agregando
el evento limpiar para que el usuario lo realice cuantas veces crea ptimo.
CONCLUSION:
Como se ve , no fue tan similar al deseado al inicio, mas sin embargo se mejoraron muchas cosas como
los colores y las formas gracias a las propiedades predestinadas del lenguaje y a los efectos del mismo
como los degrado y las curvaturas.
Algunos elementos faltantes fueron lneas en el edificio morado, bloques en el caf y las nubes del cielo.
En lo personal me gusto bastante realizar la prctica, pero an sigo sin poder organizarme con el tiempo
y responsabilidad y pro lo mismo no obtuve lo que deseaba.
ANEXOS:
CODIGO:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace Superduperdibujo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load( object sender , EventArgs e )
{
}
private void Dibujon_Click(object sender, EventArgs e)
{
Pen LapizF = new Pen(Color.Black,1);
//rectangulo de la cafeteria
Pen LapizNegroN3 = new Pen(Color.Black, 3);
Graphics D = Lienzo.CreateGraphics();
D.SmoothingMode = SmoothingMode.HighQuality;
Rectangle rect = new Rectangle(30,36,226,250);
D.DrawRectangle(LapizNegroN3,rect);
//rectangulo de la casa
Rectangle rect2 = new Rectangle(270, 36, 120, 250);
D.DrawRectangle(LapizNegroN3, rect2);
//rectangulo de la chimenea
};
D.DrawPolygon(LapizNegroN3, Mace);
SolidBrush BrushCafe = new SolidBrush(Color.SandyBrown);
D.FillPolygon(BrushCafe,Mace);
//Linea de contraste banqueta
Pen LapizColor = new Pen(Color.SlateGray, 10);
Point Puntoa = new Point(3,320);
Point puntob = new Point(400,320);
D.DrawLine(LapizColor,Puntoa,puntob);
//puertas
Rectangle rect4 = new Rectangle(182, 189, 55, 100);
D.DrawRectangle(LapizNegroN3, rect4);
Rectangle rect5 = new Rectangle(325, 188, 35, 100);
D.DrawRectangle(LapizNegroN3, rect5);
//ventaba cuadrada
Rectangle rect8 = new Rectangle(50, 86, 110, 100);
D.DrawRectangle(LapizNegroN3, rect8);
// ventanas circulares
D.DrawEllipse (LapizNegroN3,296, 64, 65, 80);
D.DrawEllipse(LapizNegroN3, 67, 95,80, 80);
//centro logotipo
D.DrawEllipse(LapizNegroN3, 72, 100, 70, 70);
///////detalles ventana puerta///////////////////////
Rectangle rect9 = new Rectangle(197, 229, 20, 10);
D.DrawRectangle(LapizNegroN3, rect9);
//trazado
Point puntos = new Point(210,215);
Point puntoss = new Point(197,229);
Point puntosss = new Point(210, 215);
Point puntossss = new Point(220, 230);
D.DrawLine(LapizNegroN3, puntos, puntoss);
D.DrawLine(LapizNegroN3,puntosss, puntossss);
//lineas de ventanas
Point punto1 = new Point(330,62);
Point punto2 = new Point(330,145);
Point punto3 = new Point(295,103);
Point punto4 = new Point(362,103);
D.DrawLine(LapizNegroN3,punto1 ,punto2);
D.DrawLine(LapizNegroN3, punto3,punto4);
///arcos para taza
SolidBrush BrushBla = new SolidBrush(Color.White);
Pen Blan = new Pen(Color.White, 7);
Rectangle deli = new Rectangle(175,78,59,59);
D.DrawArc(Blan, deli, 05,180);
Point puntoc = new Point(175,105);
Point puntod = new Point(233,105);
D.DrawLine(Blan,puntoc,puntod);
Point p1 = new Point(233, 105);
Point p2 = new Point(233, 150);
}
private void Colors_Click(object sender, EventArgs e)
{
Graphics F = Lienzo.CreateGraphics();
//rectangulo fondo
SolidBrush Cielo = new SolidBrush(Color.LightSkyBlue);
F.FillRectangle(Cielo, 3, 3, 400, 306);
SolidBrush BrushOscu = new SolidBrush(Color.Brown);
}
private void Details_Click(object sender, EventArgs e)
{
Graphics L = Lienzo.CreateGraphics();
//Humo de la taza
Point p1 = new Point(200,78);
Point p2 = new Point(300,90);
Point c1 = new Point(150,82);
Point c2 = new Point(200,90);
Pen Blan = new Pen(Color.White, 5);
L.DrawBezier(Blan,p1,c1,p2,c2);
//
//hjas de la planta
//
Pen verde = new Pen(Color.ForestGreen, 5);
Rectangle hoja1 = new Rectangle(66,235,5,15);
L.DrawEllipse(verde,hoja1);
Rectangle hoja2 = new Rectangle(75, 235, 5, 15);
L.DrawEllipse(verde, hoja2);
Rectangle hoja3 = new Rectangle(87, 235, 5, 15);
L.DrawEllipse(verde, hoja3);
}
}
}