Páginas

domingo, 27 de noviembre de 2011

Mapeo de Windows





//---------------------------------------------------------------------------

#include
#pragma hdrstop

#include "Unit1.h"
#include

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

void TForm1:: InitializeViewPort (void)
{
// Calcula ancho y alto del dibujo
int DrawingWidth = DrawingRect.Right - DrawingRect.Left;
int DrawingHeight = DrawingRect.Top - DrawingRect.Bottom;

// Establece el modo de mapeo MM_ANISOTROPIC.
SetMapMode(PaintBox1-> Canvas-> Handle, MM_ANISOTROPIC);

// Ahora el tamaño de la ventana para que coincida con el ancho de dibujo. La anchura es siempre 20,0
// (+ - 10), representado por un ancho entero de 20000. La altura varía
// De acuerdo con el control deslizable.
// /10
SetWindowExtEx(PaintBox1-> Canvas-> Handle,
DrawingWidth,
DrawingHeight,
NULL);

// Establece la ventana gráfica. El argumento negativo invierte el eje Y.
SetViewportExtEx(PaintBox1-> Canvas-> Handle, PaintBox1->Width, PaintBox1->Height, NULL);

// Ventana de origen debe ser el punto 0,0.
SetWindowOrgEx(PaintBox1-> Canvas-> Handle, 0, 1000, NULL);

// Viewport origen es el píxel, donde debe ser el origen de la ventana dibujada.
// Este es el centro de la caja de pinturas.
SetViewportOrgEx(PaintBox1-> Canvas-> Handle, 0, PaintBox1->Height, NULL);
}

void TForm1:: DrawGraph(void)
{
// Llenar en un fondo negro.
//PaintBox1-> Canvas-> Brush-> Color = clBlack;
PaintBox1-> Canvas-> Brush-> Color = clBlue;
PaintBox1-> Canvas-> FillRect (DrawingRect);

// Seleccionar una pluma blanca y dibujar los ejes x e y.
PaintBox1-> Canvas-> Pen-> Color = clWhite;
PaintBox1-> Canvas-> Pen->Width = 1;
PaintBox1-> Canvas-> MoveTo (DrawingRect.Left, 0);
PaintBox1-> Canvas-> LineTo (DrawingRect.Right, 0);
PaintBox1-> Canvas-> MoveTo (0, DrawingRect.Top);
PaintBox1-> Canvas-> LineTo (0, DrawingRect.Bottom);

// Ahora dibuja una gráfica de y = sen. Hay que dividir por 1000 antes de
// Se llama pecado () para convertir a nuestra enteros a un flotador. Entonces
// Multiplicar por 1000 después de volver a convertir a enteros.
PaintBox1-> Canvas-> MoveTo (DrawingRect.Left, 0);
for (int j = DrawingRect.Left; j <= DrawingRect.Right; j += 5)
PaintBox1-> Canvas-> LineTo (j, (int) (1000 * sin (float (j) / 1000)));
}

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
//el Rectangulo tiene su tamaño de dibujo en unidades ligicas
// el dibujo debe de estar en enteros. por lo tanto sera entero = float * 1000 para convertirlo
DrawingRect.Left = -10000;
DrawingRect.Right=10000;
DrawingRect.Top=1000 * TrackBar1->Position; //el trackbar comienza en 5
DrawingRect.Bottom=-1000 * TrackBar1->Position;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
InitializeViewPort();
DrawGraph();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
DrawingRect.Top = 1000 * TrackBar1->Position;
DrawingRect.Bottom = -1000 * TrackBar1->Position;

InitializeViewPort();
DrawGraph();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::PaintBox1Paint(TObject *Sender)
{
InitializeViewPort();
DrawGraph();
}
//---------------------------------------------------------------------------

Proyecto Zoom utilizando la clase UnidadII




//---------------------------------------------------------------------------

#include
#pragma hdrstop

#include "Unit1.h"
#include "UnidadII.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{

vx1=0;
vx2=22;
vy1=0;
vy2=28;
}


//---------------------------------------------------------------------------

int xp1 = 180, yp1 = 200, xp2 = 280, yp2 = 300;
void TForm1::Corazon()
{
UnidadII *pv;
pv=new UnidadII();
pv->Ventana(vx1,vy1,vx2,vy2);//px1,py1,px2,py2);
pv->Puerto_Vision(xp1, yp2, xp2, yp1);

int fig [33][2]={{8,1},{8,2},{7,2},{7,3},{6,3},{6,4},{5,4},{5,5},{4,5},{4,8},{5,8},{5,9},{7,9},{7,8},{8,8},{8,7},{9,7},{9,8},{10,8},{10,9},{12,9},{12,8},{13,8},{13,5},{12,5},{12,4},{11,4},{11,3},{10,3},{10,2},{9,2},{9,1},{8,1}};
int ojo1[5][2]={{6,5},{6,7},{7,7},{7,5},{6,5}};
int ojo2[5][2]={{10,5},{10,7},{11,7},{11,5},{10,5}};


//Canvas->Pen->Width=3;
//Canvas->Rectangle(100,ezq_y1,321,ezq_y2);







//Transforma.Puerto_Vision(180,190,400,470);


int xx1,xx2,yy1,yy2;
int L = 0;
int M = 500;

pv->Mapeo(fig[0][0],fig[0][1],&xx1,&yy1,L,M);
PaintBox1->Canvas->MoveTo(xx1,yy1);
for(int i=1;i<33;i++)
{
pv->Mapeo(fig[i][0],fig[i][1],&xx1,&yy1,L,M);
PaintBox1->Canvas->LineTo(xx1,yy1);
}

pv->Mapeo(ojo1[0][0],ojo1[0][1],&xx1,&yy1,L,M);
PaintBox1->Canvas->MoveTo(xx1,yy1);


for(int i=1;i<5;i++)
{
pv->Mapeo(ojo1[i][0],ojo1[i][1],&xx1,&yy1,L,M);
PaintBox1->Canvas->LineTo(xx1,yy1);
}

pv->Mapeo(ojo2[0][0],ojo2[0][1],&xx1,&yy1,L,M);
PaintBox1->Canvas->MoveTo(xx1,yy1);


for(int i=1;i<5;i++)
{
pv->Mapeo(ojo2[i][0],ojo2[i][1],&xx1,&yy1,L,M);
PaintBox1->Canvas->LineTo(xx1,yy1);
}
}

void __fastcall TForm1::PaintBox1Paint(TObject *Sender)
{
Corazon();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
this->Refresh();
if(Key == VK_UP)
{
yp1--;
yp2++;
}
if(Key == VK_DOWN)
{
yp2--;
yp1++;
}
if(Key == VK_LEFT)
{
xp1--;
xp2++;
}
if(Key == VK_RIGHT)
{
xp2--;
xp1 ++;

}

Corazon();
}
//---------------------------------------------------------------------------

MAPEO-VENTANA-PUERTO DE VISIÓN



//---------------------------------------------------------------------------

#include
#pragma hdrstop

#include "Unit1.h"


//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#include "UnidadII.h"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
PaintBox1->Refresh();
int x1=Edit1->Text.ToIntDef(0);
int y1=Edit2->Text.ToIntDef(0);
int x2=Edit3->Text.ToIntDef(200);
int y2=Edit4->Text.ToIntDef(200);

Canvas->Pen->Color=clBlue;
Canvas->Pen->Width=3;


Canvas->MoveTo(PaintBox1->Width/2,0);
Canvas->LineTo(PaintBox1->Width/2,PaintBox1->Height);
Canvas->MoveTo(0,PaintBox1->Height/2);
Canvas->LineTo(PaintBox1->Height,PaintBox1->Width/2);

UnidadII Transforma;

Transforma.Ventana(0,0,500,500);
Transforma.Puerto_Vision(0,0,500,500);



Canvas->Pen->Color=clBlue;
Canvas->Pen->Width=3;

int xx1;
int yy1;
int xx2;
int yy2;
int L=0;
int M=PaintBox1->Height;

Transforma.Mapeo(x1,y1,&xx1,&yy1,L,M);
PaintBox1->Canvas->MoveTo(xx1,yy1);
Transforma.Mapeo(x2,y2,&xx2,&yy2,L,M);
PaintBox1->Canvas->LineTo(xx2,yy2);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
PaintBox1->Refresh();

int x1=Edit1->Text.ToIntDef(-10);
int y1=Edit2->Text.ToIntDef(-10);
int x2=Edit3->Text.ToIntDef(100);
int y2=Edit4->Text.ToIntDef(100);



Canvas->Pen->Color=clBlue;
Canvas->Pen->Width=3;

Canvas->MoveTo(PaintBox1->Width/2,0);
Canvas->LineTo(PaintBox1->Width/2,PaintBox1->Height);
Canvas->MoveTo(0,PaintBox1->Height/2);
Canvas->LineTo(PaintBox1->Height,PaintBox1->Width/2);
//Canvas->LineTo(PaintBox1->Width-2,PaintBox1->Height-2);

UnidadII Transforma;

Transforma.Ventana(0,0,PaintBox1->Width,PaintBox1->Height);
Transforma.Puerto_Vision(0,0,PaintBox1->Width/2,PaintBox1->Height/2);

int xx1;
int yy1;
int xx2;
int yy2;
int L=PaintBox1->Width/2;
int M=PaintBox1->Height/2;

Transforma.Mapeo(x1,y1,&xx1,&yy1,L,M);
PaintBox1->Canvas->MoveTo(xx1,yy1);
Transforma.Mapeo(x2,y2,&xx2,&yy2,L,M);
PaintBox1->Canvas->LineTo(xx2,yy2);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{

PaintBox1->Refresh();
int x1=Edit1->Text.ToIntDef(-10);
int y1=Edit2->Text.ToIntDef(-10);
int x2=Edit3->Text.ToIntDef(100);
int y2=Edit4->Text.ToIntDef(100);

Canvas->Pen->Color=clBlue;
Canvas->Pen->Width=3;


Canvas->MoveTo(PaintBox1->Width/2,0);
Canvas->LineTo(PaintBox1->Width/2,PaintBox1->Height);
Canvas->MoveTo(0,PaintBox1->Height/2);
Canvas->LineTo(PaintBox1->Height,PaintBox1->Width/2);
UnidadII Transforma;

Transforma.Ventana(0,0,PaintBox1->Width,PaintBox1->Height);
Transforma.Puerto_Vision(0,0,PaintBox1->Width/2,PaintBox1->Height/2);


int xx1;
int yy1;
int xx2;
int yy2;
int L=0;
int M=PaintBox1->Height/2;

Transforma.Mapeo(x1,y1,&xx1,&yy1,L,M);
PaintBox1->Canvas->MoveTo(xx1,yy1);
Transforma.Mapeo(x2,y2,&xx2,&yy2,L,M);
PaintBox1->Canvas->LineTo(xx2,yy2);

}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button4Click(TObject *Sender)
{
Repaint();

Canvas->Pen->Width=3;
Canvas->Rectangle(0,0,PaintBox1->Width/2,PaintBox1->Height/2);


int x1=Edit1->Text.ToIntDef(-10);
int y1=Edit2->Text.ToIntDef(-10);
int x2=Edit3->Text.ToIntDef(100);
int y2=Edit4->Text.ToIntDef(100);


UnidadII Transforma;

Transforma.Ventana(0,0,PaintBox1->Width,PaintBox1->Height);
Transforma.Puerto_Vision(0,0,PaintBox1->Width/2,PaintBox1->Height/2);


int xx1;
int yy1;
int xx2;
int yy2;
int L=0;
int M=PaintBox1->Height/2;

Transforma.Mapeo(x1,y1,&xx1,&yy1,L,M);
PaintBox1->Canvas->MoveTo(xx1,yy1);
Transforma.Mapeo(x2,y2,&xx2,&yy2,L,M);
PaintBox1->Canvas->LineTo(xx2,yy2);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)
{
Repaint();

Canvas->Pen->Width=3;
Canvas->Rectangle(180,200,281,301);


int x1=Edit1->Text.ToIntDef(11);
int y1=Edit2->Text.ToIntDef(14);
int x2=Edit3->Text.ToIntDef(22);
int y2=Edit4->Text.ToIntDef(28);


UnidadII Transforma;

Transforma.Ventana(0,0,22,28);
Transforma.Puerto_Vision(180,200,280,300);
//Transforma.Puerto_Vision(180,190,400,470);

int xx1;
int yy1;
int xx2;
int yy2;
int L=0;
int M=500; //480;

Transforma.Mapeo(x1,y1,&xx1,&yy1,L,M);
PaintBox1->Canvas->MoveTo(xx1,yy1);
Transforma.Mapeo(x2,y2,&xx2,&yy2,L,M);
PaintBox1->Canvas->LineTo(xx2,yy2);


}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)
{
int fig [4][2]={{1,1},{3,1},{2,3},{1,1}};
Repaint();

int ezq_y1=100;
int ezq_y2=380;
Canvas->Pen->Width=3;
Canvas->Rectangle(100,ezq_y1,321,ezq_y2);




UnidadII Transforma;

Transforma.Ventana(0,0,10,10);
Transforma.Puerto_Vision(100,ezq_y1,321,ezq_y2);
//Transforma.Puerto_Vision(180,190,400,470);


int x,y;

int L=0;
int M=ezq_y1+ezq_y2;; //480;

Transforma.Mapeo(fig[0][0],fig[0][1],&x,&y,L,M);
PaintBox1->Canvas->MoveTo(x,y);
for(int i=1;i<4;i++) { Transforma.Mapeo(fig[i][0],fig[i][1],&x,&y,L,M); PaintBox1->Canvas->LineTo(x,y);
}
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key=VK_UP)
PaintBox1->Canvas->TextOut(10,10,"Presionaste felcha arriba");
else if(Key=VK_DOWN)
PaintBox1->Canvas->TextOut(20,20,"Presionaste felcha abajo");
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)
{
int fig [5][3]={{1,1},{3,1},{2,3},{3,2},{1,1}};
Repaint();

int ezq_y1=100;
int ezq_y2=380;
Canvas->Pen->Width=3;
Canvas->Rectangle(100,ezq_y1,321,ezq_y2);




UnidadII Transforma;

Transforma.Ventana(0,0,10,10);
Transforma.Puerto_Vision(100,ezq_y1,321,ezq_y2);
//Transforma.Puerto_Vision(180,190,400,470);


int x,y;

int L=0;
int M=ezq_y1+ezq_y2;; //480;

Transforma.Mapeo(fig[0][0],fig[0][1],&x,&y,L,M);
PaintBox1->Canvas->MoveTo(x,y);
for(int i=1;i<4;i++) { Transforma.Mapeo(fig[i][0],fig[i][1],&x,&y,L,M); PaintBox1->Canvas->LineTo(x,y);
}
}
//---------------------------------------------------------------------------

PROYECTO FINAL DE LA UNIDAD I




using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.IO;
using System.Drawing.Drawing2D;

namespace Proyecto_Creador
{
public partial class Form1 : Form
{
const int LENGHT = 70;
int width, height,N1,N2,tam;
Graphics g;

public Form1()
{
InitializeComponent();
g = pictureBox1.CreateGraphics();
}
SolidBrush verde = new SolidBrush(Color.Green);


double[] frctl = new double[1000];
int maxlevel = 6;
private void fractal(int y1, int y2, int maxlevel, double h, double scale)
{
int first, last;
double radio, std;

first = 0;

last = Convert.ToInt32(Math.Pow(maxlevel, 2.0));
frctl[first] = y1;
frctl[last] = y2;
radio = 1.0 / Math.Pow(h, 2.0);
std = scale * radio;
subdivide(first, last, std, radio);
}
private void subdivide(int p1, int p2, double std, double radio)
{
int midpnt;
double stdmid;
midpnt = (p1 + p2) / 2;
Random r = new Random();
if (midpnt != p1 && midpnt != 2)
{
frctl[midpnt] = (frctl[p1] + frctl[p2] / 2) + Convert.ToDouble(r.Next(16) - 8) / 8.0 * std;
stdmid = std * radio;
subdivide(p1, midpnt, stdmid, radio);
subdivide(midpnt, p2, stdmid, radio);
}
}
private void draw_fractal(Color color)
{
int i, x, xinc, l;
double maxlevel = 6;
l = Convert.ToInt32(Math.Pow((double)maxlevel, 2.0));
xinc = ClientSize.Width / l * 3 / 2;
Graphics g = panel8.CreateGraphics();
Pen pl = new Pen(color);
for (i = 0, x = 0; i < l; i++, x += xinc)
g.DrawLine(pl, 0, 100, x, (int)frctl[i]);

}


private void Form1_Load(object sender, EventArgs e)
{
/*groupBox4.Enabled = false;
groupBox3.Enabled = false;
groupBox2.Enabled = false;*/

}



private void button2_Click(object sender, EventArgs e)
{

//((Bitmap)pictureBox1.Image).Save("C:\\Documents and Settings\\Administrador\\Escritorio\\Proyecto_Creador\\imagen.bmp");
Bitmap ftr = new Bitmap(pictureBox1.Width, pictureBox1.Height,g);
ftr.Save("C:\\Documents and Settings\\Administrador\\Escritorio\\Proyecto_Creador\\imagen.bmp");

/*Bitmap bit = new Bitmap(pictureBox1.Width, pictureBox1.Height);
string nombre = textBox1.Text;

pictureBox1.Image.Save("hola.bmp");//, System.Drawing.Imaging.ImageFormat.Jpeg);*/
}

private void pictureBox1_Click(object sender, EventArgs e)
{


}

private void button1_Click(object sender, EventArgs e)
{

Graficos OG = new Graficos(pictureBox1);

if (radioButton1.Checked)
{

OG.Linea_DDA(201, 81, 232, 105);
OG.Linea_DDA(203, 81, 236, 99);
OG.Linea_DDA(199, 82, 205, 103);
OG.Linea_DDA(201, 81, 180, 102);
OG.Linea_DDA(200, 81, 159, 101);
pictureBox1.Refresh();
SolidBrush piel = new SolidBrush(Color.BlanchedAlmond);
SolidBrush ojos = new SolidBrush(Color.Brown);
SolidBrush playera = new SolidBrush(Color.Red);
SolidBrush pantalon = new SolidBrush(Color.Blue);
Pen boca = new Pen(Color.Red);
Point[] Boca = {new Point(180, 150),
new Point(200,160),
new Point(220, 150)};
Point[] Playera ={new Point(162,201),
new Point(165,194),
new Point(173,190),
new Point(223,190),
new Point(223,193),
new Point(236,201),
new Point(236,299),
new Point(163,301),
new Point(163,202)};
Point[] BrazoD ={new Point(165,192),
new Point(101,271),
new Point(101,278),
new Point(118,283),
new Point(163,215),
new Point(165,192)
};

Point[] BrazoI ={new Point(231,192),
new Point(294,271),
new Point(299,278),
new Point(282,283),
new Point(236,215),
new Point(231,192)
};
g.FillEllipse(piel, 150, 80, 100, 100);
g.FillEllipse(ojos, 175, 115, 15, 15);
g.FillEllipse(ojos, 210, 115, 15, 15);
g.DrawCurve(boca, Boca);
g.FillRectangle(piel, 189, 180, 23, 10);
//g.FillRectangle(playera, 162, 190, 75, 60);
g.FillClosedCurve(playera, Playera);
g.FillRectangle(pantalon, 160, 290, 80, 100);
g.FillClosedCurve(piel, BrazoD);
g.FillClosedCurve(piel, BrazoI);
// pictureBox1.Image = (new Image())g());

}
else if (radioButton2.Checked)
{
pictureBox1.Refresh();


SolidBrush piel = new SolidBrush(Color.BlanchedAlmond);
SolidBrush ojos = new SolidBrush(Color.Brown);
SolidBrush playera = new SolidBrush(Color.Violet);
SolidBrush pantalon = new SolidBrush(Color.Plum);
Pen boca = new Pen(Color.Red);
Point[] Boca = {new Point(180, 150),
new Point(200,160),
new Point(220, 150)};
Point[] Playera ={new Point(162,201),
new Point(165,194),
new Point(173,190),
new Point(223,190),
new Point(223,193),
new Point(236,201),
new Point(236,299),
new Point(163,301),
new Point(163,202)};
Point[] BrazoD ={new Point(165,192),
new Point(101,271),
new Point(101,278),
new Point(118,283),
new Point(163,215),
new Point(165,192)
};

Point[] BrazoI ={new Point(231,192),
new Point(294,271),
new Point(299,278),
new Point(282,283),
new Point(236,215),
new Point(231,192)
};



g.FillEllipse(piel, 150, 80, 100, 100);
g.FillEllipse(ojos, 175, 115, 15, 15);
g.FillEllipse(ojos, 210, 115, 15, 15);
g.DrawCurve(boca, Boca);
g.FillRectangle(piel, 189, 180, 23, 10);
//g.FillRectangle(playera, 162, 190, 75, 60);
g.FillClosedCurve(playera, Playera);
g.FillRectangle(pantalon, 160, 290, 80, 100);
g.FillClosedCurve(piel, BrazoD);
g.FillClosedCurve(piel, BrazoI);
// pictureBox1.Image = (new Image())g());

/* OG.Linea_DDA(197, 97, 160, 107);
OG.Linea_DDA(198, 85, 174, 107);
OG.Linea_DDA(202, 82, 197, 105);
OG.Linea_DDA(202, 81, 232, 108);
OG.Linea_DDA(193, 81, 123, 200);
OG.Linea_DDA(161, 161, 156, 198);
OG.Linea_DDA(203, 81, 278, 190);
OG.Linea_DDA(232, 172, 245, 205);*/


}
else
MessageBox.Show("Elija el sexo de su personaje");

}

private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{

}

private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{

}

private void button3_Click(object sender, EventArgs e)
{


}

private void panel1_Paint(object sender, PaintEventArgs e)
{

}

private void panel1_Click(object sender, EventArgs e)
{

Graphics g = pictureBox1.CreateGraphics();
SolidBrush azul = new SolidBrush(Color.Blue);
g.FillEllipse(azul, 175, 115, 15, 15);
g.FillEllipse(azul, 210, 115, 15, 15);
}

private void panel2_Click(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics();
SolidBrush verde = new SolidBrush(Color.Green);
g.FillEllipse(verde, 175, 115, 15, 15);
g.FillEllipse(verde, 210, 115, 15, 15);
}

private void panel3_Click(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics();
SolidBrush rojo = new SolidBrush(Color.Red);
g.FillEllipse(rojo, 175, 115, 15, 15);
g.FillEllipse(rojo, 210, 115, 15, 15);
}

private void panel4_Click(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics();
SolidBrush cafe = new SolidBrush(Color.Brown);
g.FillEllipse(cafe, 175, 115, 15, 15);
g.FillEllipse(cafe, 210, 115, 15, 15);
}

private void panel5_Paint(object sender, PaintEventArgs e)
{


}

private void panel5_Click(object sender, EventArgs e)
{
Graphics g1 = pictureBox1.CreateGraphics();

SolidBrush piel1 = new SolidBrush(Color.MistyRose);


Point[] BrazoD ={new Point(165,192),
new Point(101,271),
new Point(101,278),
new Point(118,283),
new Point(163,215),
new Point(165,192)
};

Point[] BrazoI ={new Point(231,192),
new Point(294,271),
new Point(299,278),
new Point(282,283),
new Point(236,215),
new Point(231,192)
};

//cabeza
g1.FillEllipse(piel1, 150, 80, 100, 100);
//brazos
g1.FillClosedCurve(piel1, BrazoD);
g1.FillClosedCurve(piel1, BrazoI);

g1.FillRectangle(piel1, 189, 180, 23, 10);


SolidBrush ojos = new SolidBrush(Color.Brown);

Pen boca = new Pen(Color.Red);
Point[] Boca = {new Point(180, 150),
new Point(200,160),
new Point(220, 150)};

g1.FillEllipse(ojos, 175, 115, 15, 15);
g1.FillEllipse(ojos, 210, 115, 15, 15);
g1.DrawCurve(boca, Boca);





}

private void panel6_Click(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics();
SolidBrush piel2 = new SolidBrush(Color.RosyBrown);
Point[] BrazoD ={new Point(165,192),
new Point(101,271),
new Point(101,278),
new Point(118,283),
new Point(163,215),
new Point(165,192)
};

Point[] BrazoI ={new Point(231,192),
new Point(294,271),
new Point(299,278),
new Point(282,283),
new Point(236,215),
new Point(231,192)
};

//cabeza
g.FillEllipse(piel2, 150, 80, 100, 100);
//brazos
g.FillClosedCurve(piel2, BrazoD);
g.FillClosedCurve(piel2, BrazoI);
g.FillRectangle(piel2, 189, 180, 23, 10);



SolidBrush ojos = new SolidBrush(Color.Brown);

Pen boca = new Pen(Color.Red);
Point[] Boca = {new Point(180, 150),
new Point(200,160),
new Point(220, 150)};

g.FillEllipse(ojos, 175, 115, 15, 15);
g.FillEllipse(ojos, 210, 115, 15, 15);
g.DrawCurve(boca, Boca);


}

private void panel7_Click(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics();

SolidBrush piel3 = new SolidBrush(Color.BlanchedAlmond);

Point[] BrazoD ={new Point(165,192),
new Point(101,271),
new Point(101,278),
new Point(118,283),
new Point(163,215),
new Point(165,192)
};

Point[] BrazoI ={new Point(231,192),
new Point(294,271),
new Point(299,278),
new Point(282,283),
new Point(236,215),
new Point(231,192)
};

//cabeza
g.FillEllipse(piel3, 150, 80, 100, 100);
//brazos
g.FillClosedCurve(piel3, BrazoD);
g.FillClosedCurve(piel3, BrazoI);
g.FillRectangle(piel3, 189, 180, 23, 10);



SolidBrush ojos = new SolidBrush(Color.Brown);

Pen boca = new Pen(Color.Red);
Point[] Boca = {new Point(180, 150),
new Point(200,160),
new Point(220, 150)};

g.FillEllipse(ojos, 175, 115, 15, 15);
g.FillEllipse(ojos, 210, 115, 15, 15);
g.DrawCurve(boca, Boca);


}

private void button4_Click(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex==0)
{

int CENTRO_X = 10;//pictureBox1.Width / 2;
int CENTRO_Y = 50;
Graphics g = panel8.CreateGraphics();
float posx, posy;
int angle;
Random val = new Random();
Pen pluma;

for (angle = 0; angle < 360; angle++)
{
posx = (float)(CENTRO_X + LENGHT * Math.Sin(angle / 180.0 * Math.PI));
posy = (float)(CENTRO_Y + LENGHT * Math.Cos(angle / 180.0 * Math.PI));
pluma = new Pen(Color.FromArgb(val.Next(256), val.Next(256), val.Next(256)));
g.DrawLine(pluma, CENTRO_X, CENTRO_Y, posx + 100, posy + 200);
//g.DrawLine(Pens.Brown,CENTRO_X,CENTRO_Y,posx+100,posy+200);


}
}
if (comboBox1.SelectedIndex == 1)
{
Rectangle rect = new Rectangle(0, 0, this.ClientSize.Width, this.ClientSize.Height);
SolidBrush brush = new SolidBrush(Color.SkyBlue);
fractal(100, 100, maxlevel, 0.5, 50.0);
draw_fractal(Color.Blue);
//Bitmap bm = new Bitmap(ClientSize.Width,ClientSize.Height);
Graphics G = panel8.CreateGraphics();
G.FillRectangle(brush, 1, 1, ClientSize.Width, ClientSize.Height);
//G.FillRegion(Brush,brush,);
//PaintBox1->Canvas->FloodFill(1,1,clBlack,fsBorder);
SolidBrush brus = new SolidBrush(Color.SkyBlue);
fractal(170, 170, maxlevel, 0.9, 30.0);
//draw_fractal(Color.BlueViolet);
SolidBrush br = new SolidBrush(Color.Blue);
fractal(170, 170, maxlevel, 0.0, 30.0);
G.FillRectangle(br, 1, 240, ClientSize.Width, ClientSize.Height);
SolidBrush br1 = new SolidBrush(Color.Yellow);
G.FillEllipse(br1, 50, 15, ClientSize.Width - 700, ClientSize.Height - 550);
//SolidBrush br2 = new SolidBrush(Color.Green);
//G.FillRectangle(br2, 300, 150, ClientSize.Width, ClientSize.Height);



}
}

private void panel8_Paint(object sender, PaintEventArgs e)
{

}

private void button5_Click(object sender, EventArgs e)
{
OpenFileDialog abrir = new OpenFileDialog();
abrir.Filter = "Archivos JPEG(*.jpg) | *.jpg";
abrir.InitialDirectory = "C:/Documents and Settings";

if (abrir.ShowDialog() == DialogResult.OK)
{
}
string Dir = abrir.FileName;
Bitmap picture = new Bitmap(Dir);

panel8.BackgroundImage = (Image)picture;

}

private void textBox6_TextChanged(object sender, EventArgs e)
{

}

private void textBox6_Enter(object sender, EventArgs e)
{





}

private void timer1_Tick(object sender, EventArgs e)
{
pictureBox2.Refresh();
N1 = Convert.ToInt32(numericUpDown2.Value);
N2 = Convert.ToInt32(numericUpDown1.Value);
tam = Convert.ToInt32(trackBar1.Value);
Graphics g = pictureBox2.CreateGraphics();
string cad = textBox6.Text;
g.DrawString(cad, new Font("Times", tam), Brushes.Black, N1, N2);

/*if (rojo)

g.DrawString(cad, new Font("Times", tam), Brushes.Red, N1, N2);

if (azul)
g.DrawString(cad, new Font("Times", tam), Brushes.Blue, N1, N2);
if (verde)
g.DrawString(cad, new Font("Times", tam), Brushes.Green, N1, N2);*/
}

private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
timer1.Enabled = true;
groupBox7.Visible = true;
}

private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
{

}
}
}

"APLICACION UTILIZANDO LOS OBJETOS GRAFICOS BASICOS DE C#"





using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Threading;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();


this.Text = "Fondo Lineas";

}

Random r = new Random();


private void timer1_Tick(object sender, EventArgs e)
{



}

private void button1_Click(object sender, EventArgs e)
{

}

private void Form1_Paint(object sender, PaintEventArgs e)
{

}

private void Form1_Resize(object sender, EventArgs e)
{
Invalidate();
}

private void timer1_Tick_1(object sender, EventArgs e)
{
Graphics g = CreateGraphics();

LinearGradientBrush lgb = new LinearGradientBrush(new Point(0, 0), new Point(r.Next(10, 20)), Color.Violet, Color.White);
g.FillRectangle(lgb, this.ClientRectangle);
lgb.Dispose();


}

private void button1_Click_1(object sender, EventArgs e)
{
timer1.Enabled = true;
timer2.Enabled = true;
}

private void timer2_Tick(object sender, EventArgs e)
{

Graphics g = this.CreateGraphics();
string cad = "Alejandra";

g.DrawString(cad, new Font("Arial", 20), Brushes.RoyalBlue, r.Next(10, 500),30);
Thread.Sleep(500);
}

private void button2_Click(object sender, EventArgs e)
{
timer2.Enabled = false;
timer1.Enabled = false;
this.Refresh();
}
}
}

APLICACION QUE UTILIZA LA LÍNEA DDA



//---------------------------------------------------------------------------

#include
#include
#pragma hdrstop
#include
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
g=new Graficos(Form1->Canvas);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{

x1=X;
y1=Y;

xc=X;
yc=Y;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{


X2=X;
Y2=Y;

if(RadioButton1->Checked)
{
Edit1->Text=x1;
Edit2->Text=y1;
Edit3->Text=X2;
Edit4->Text=Y2;
g->lineaDDA(x1,y1,X2,Y2);
}

if(RadioButton2->Checked)
{
Edit6->Text=xc;
Edit5->Text=yc;
radio=X2-xc;
Edit7->Text=radio;
//g->circulo_4(X2,Y2,radio) ;
g->circ_coord_polares(x1,y1,radio);
}

}
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioButton1Click(TObject *Sender)
{
Form1->Refresh();
Form1->Repaint();

if(RadioButton1->Checked)
{
Edit6->Text=" ";
Edit7->Text=" ";
Edit5->Text=" ";
}


}
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
Form1->Refresh();
Form1->Repaint();
if(RadioButton2->Checked)
{

Edit1->Text=" ";
Edit2->Text=" ";
Edit3->Text=" ";
Edit4->Text=" ";
}



}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{

Form1->Refresh();
Form1->Repaint();

int x=ClientWidth/3;
int y=ClientHeight/2;

radio=5;

g->espiral1(x,y,radio);


}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{

Form1->Refresh();
Form1->Repaint();

int x=ClientWidth/3;
int y=ClientHeight/2;

radio=1.0;
g->espiral2(x,y,radio);
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button6Click(TObject *Sender)
{
Form1->Refresh();
Form1->Repaint();

int x=ClientWidth/3;
int y=ClientHeight/2;


double teta=7;
double radio=1.2;

//double th=0.3;
g->espiral2efecto(x,y,radio,teta);
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button5Click(TObject *Sender)
{

Form1->Refresh();
Form1->Repaint();

int x=ClientWidth/3;
int y=ClientHeight/2;



double radio=.75;

//double th=0.3;
g->espiral1efecto(x,y,radio);

}
//---------------------------------------------------------------------------

GENERACION DE LA CIRCUNFERENCIA USANDO EL TEOREMA DE PITAGORAS

//---------------------------------------------------------------------------

#include
#pragma hdrstop
#include
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
xc = X;
yc = Y;
}
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
x1=X;
y1=Y;
this->Repaint();
Canvas->Refresh();
radio=x1-xc;
r=radio;
for (double i=x1;i>=xc-radio;i--,r--)
{
y2=sqrt((radio*radio)-(r*r));
f=fmod(y2,1.0);
if(f>=.50)
y2++;
Canvas->Pixels[(int)i][(int)yc+(int)y2]=clBlue;
Sleep(50);
}
r=radio;
for (double i=xc-radio;i<=x1;i++,r--)
{
y2=sqrt((radio*radio)-(r*r));
f=fmod(y2,1.0);
if(f>=.50)
y2++;
Canvas->Pixels[(int)i][(int)yc-(int)y2]=clBlue;
Sleep(50);
}
}