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;
namespace Segundo_Programa_Graficacion1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Control usado: pictureBox1
private void pictureBox1_Click(object sender, EventArgs e)
{
}
// Control usado: button1_Click
private void button1_Click(object sender, EventArgs e) // METODO DEL BOTON#1
{
// Evento a generar cuando se hace clic
Graphics hojaN1; // Declaración de una variable u objeto denominada hoja numero1, el tipo de dato es GRAPHICS
hojaN1 = pictureBox1.CreateGraphics(); // asignamos una caja o área vacía para gráfico a la variable hojaN1
Pen lapizN1
= new Pen
(Color
.Black); // Se creo un nuevo objeto llamado lapizNumero1 que "escribe" en color negro
SolidBrush PincelRellenoN1
= new SolidBrush
(Color
.Gray); // Se creo un nuevo objeto llamado PincelRellenoNumero1 que "escribe" en color gris solid
// Dibujar un rectángulo a 10 pixeles del origen tanto en x como y
hojaN1.DrawRectangle(lapizN1, 10, 10, 100, 50); // Dibuja con lapizN1 un rectángulo en la coordenada (10, 10), de ancho 100 y alto 50
// Dibujar una linea recta que divida el rectángulo anterior, tener en cuenta que el desface es de 10 pixeles
hojaN1.DrawLine(lapizN1, 10, 10, 110, 60); // Dibuja con lapizN1 una linea en la coordenada inicial (10, 10) , final en (100, 60)
// Dibujar un 2do rectángulo
// Usando variables como parámetros
int Pos_xSuperior = 10; // definición de una variable denominada Pos_xSuperior de tipo entero y de valor 10
int Pos_ySuperior = 80;
int Rect_width = 100;
int Rect_high = 50;
hojaN1.DrawRectangle(lapizN1, Pos_xSuperior, Pos_ySuperior, Rect_width, Rect_high); // Dibuja con lapizN1 un 2do rectángulo en la coordenada (10, 80) de ancho 100 y alto 50
// Sobre el rectángulo dibujar una elipse
hojaN1.DrawEllipse(lapizN1, Pos_xSuperior, Pos_ySuperior, 100, 50); // Dibuja con lapizN1 una elipse en la coordenada inicial (10, 80) , de ancho 100 y alto 50
// dibujar una elipse llena abajo
hojaN1.FillEllipse(PincelRellenoN1, 10, 150, 100, 50); // Dibuja con PincelRellenoN1 una elipse en la coordenada inicial (10, 150) , de ancho 100 y alto 50
// pegar una imagen ya definida
Bitmap MiImagen
= new Bitmap
(@"C:\Users\JaimeFernando\Documents\background.bmp");
hojaN1.DrawImage(MiImagen, 130, 10, 130, 68); // // se ubica background.bmp en la coordenada (130,10) de ancho 130 y alto 68
// Realizar un marco a la elipse rellena
DibujarRect(hojaN1, lapizN1, 10, 150);
int areaDelRectangulo = calcularArea(3, 4);
// o en dos sentencias
// int areaDelRectangulo; areaDelRectangulo=calcularArea(3,4);
MessageBox.Show("El area mide " + Convert.ToString(areaDelRectangulo));
// Dibujar un rectangulo sobre el eje de la elipse
DibujarRect2(hojaN1, lapizN1, 110, 150);
}
//private = metodo solo puede ser invocado desde el interior de programa
//void no retorna nada, solo realiza una tarea interna
//la lista entre parentesis () del metodo se denominan parametros, mientras que la lista de invocacio son los argumentos
// las variables de los parametros son locales dentro del cuerpo de la funcion metodo
private void DibujarRect(Graphics hojaN1_copy, Pen lapizN1_copy, int Pos_xSuperior, int Pos_ySuperior)
{
hojaN1_copy.DrawRectangle(lapizN1_copy, Pos_xSuperior, Pos_ySuperior, 100, 50); // Ancho y Alto predefinidos
}
//int debe retorna un entero, transfiere informacion en el punto donde fue invocado usando la instruccion RETURN
private int calcularArea(int Rect_width, int Rect_high)
{
int area = Rect_width * Rect_high;
return area;
//return Rect_width * Rect_high; // en una sola sentencia
// return // sin argumentos sirve para que el metodo termine sin ejecutar el resto de instrucciones, para esto se debe usar void en la declaracion
}
// Llamando a otros metodos dentro de un metodo pag75
private void DibujarRect2(Graphics hojaN1_copy, Pen lapizN1_copy, int Pos_xSuperior, int Pos_ySuperior)
{
DibujarRect(hojaN1_copy, lapizN1_copy, 10, 175);
}
}
}