miércoles, 12 de octubre de 2011

Imagen dentro de un texto en [java]

10/12/2011


Hoy les traigo una forma de colocar una imagen dentro del textoutilizandoelmétodopaint(Graphics g), es bastante sencillo con un efecto muy vistoso.
fragmento delcódigo


Graphics2D g2 = (Graphics2D)g;
int w = getSize().width;
int h = getSize().height;
// Se dibuja la imagen
Image im = (new ImageIcon("1600x1200.jpg")).getImage();
// Se prepara el texto
FontRenderContext frc = g2.getFontRenderContext();
Font f = new Font("Arial Black",Font.BOLD,180);
TextLayout tl = new TextLayout("JavaFace",f,frc);
float sw = (float)tl.getBounds().getWidth();
AffineTransform transform = new AffineTransform();
transform.setToTranslation(w/2-sw/2,h*5/8);
Shape shape = tl.getOutline(transform);
// Se dibuja la imagen en el interior del contorno
g2.setClip(shape);
g2.drawImage(im,0,0,this);
// Se dibuja sólo el contorno
g2.setColor(Color.YELLOW);
g2.draw(shape);



Si lo imaginas,lo programas


lunes, 10 de octubre de 2011

Imagen con realza de perfiles en java

10/10/2011

Hoy les traigo una forma de procesar una imagen con realza de relieves primero vamos haber que son
ConvolveOp :Representa una convolución espacial. Éste es un término matemático que, aplicado al tratamiento de imágenes que nos ocupa, quiere decir que el color de cada píxel de la imagen destino vendrá determinado por una combinación de colores del píxel fuente y de sus píxeles vecinos.
Kernel:es simplemente una matriz en la que el valor central representa al píxel fuente y los valores restantes representan a los píxeles vecinos.


Ejemplos de kernels pueden ser los siguientes:


paraobtenerestaimagenloúnicoquehahechofaltaesmodificarlamatrizquecomponeelkernel;portanto,enelsiguienteejemplotansolosevaamostrarelvectorqueseusaysuresultado.Lamatrizeslasiguiente:

float [] valores = {0.0f,-1.0f ,0.0f ,-1.0f , 5.0f, -1.0f, 0.0f, -1.0f, 0.0f};





Si lo imaginas,lo programas


jueves, 6 de octubre de 2011

Proyecto de Facturación con almacenamiento de datos en archivos planos en java

10/06/2011
Principal
Producto
Factura

Hoy les traigo un proyecto defacturacióncompleto que no utiliza base de datos,todos los datos son almacenados en archivos planos o ficheros,este tipo de aplicaciones son masrápidasen el manejo de datos y por lo tanto masligeras
el proyecto consta de lo siguiente:
  • Producto
  • Cliente
  • Trabajador
  • Proveedor
  • Facturación

Si lo imaginas,lo programas




martes, 4 de octubre de 2011

Crear un procedimiento Estatico en WindowsForm - Explicación

10/04/2011

Crear un procedimiento Estático en WindowsForm
Vamos a realizar un programa para ingresar 2 valores numéricos y realizar con ellos las operaciones básicas de la aritmética convencional esto es, sumarlos, restarlos, multiplicarlos, y dividirlos entre sí.
Para poder realizar la práctica es necesario crear un nuevo proyecto de Windows Form Aplication.

Veamos ahora el siguiente video, en el que se nos detalla paso a paso la creacion de ésta aplicación.



Una vez creado el proyecto nos vamos a la ventana de propiedades y seleccionamos la opción StartPosition y lo dejamos en CenterScreen, luego en el mismo cuadro de propiedades ubicamos la opción Text para poner un título a la ventana.

Ahora vamos a crear el entorno visual con los objetos que nos proporciona el IDE, nos ubicamos en la pestaña Cuadro de Herramientas, y seleccionamos 6 labels “Etiquetas”, 6 TextBox “Cajas de texto”, y 4 Button y ubicamos los controles de la manera en que se muestra en el video.


Ahora lo que sigue es poner a cada elemento de nuestro formulario nombres específicos tal como se muestra en el video, para ello damos un clic en el objeto y en el cuadro de propiedades buscamos la opción Text y allí pondremos el nombre que se visualizara por defecto en cada control.

private void button1_Click(object sender, EventArgs e)
{
}

Dentro de ese método pondremos nuestro código:
private void button1_Click(object sender, EventArgs e)
{
tsuma.Text = (int.Parse(tn1.Text) + int.Parse(tn2.Text))+"";//codigo
}

Y con eso tenemos hecha ya la suma.

Adicionalmente sebe poner nombres a cada objeto para poder relacionarlo en nuestro código, por ejemplo el cuadro de texto que guardara la suma para mi caso se llamara tsuma, para poder asignr el nombre seleccione el objeto y valla al cuadro de Propiedades y seleccione la opción Name y posteriormente escriba el nombre con el cual se relacionara nuestro control.

Haremos entonces lo mismo para cada una de las operaciones desde los botones
La Resta:
private void button2_Click(object sender, EventArgs e)
{
tresta.Text = (int.Parse(tn1.Text) - int.Parse(tn2.Text)) + "";
}

La multiplicación:
private void button3_Click(object sender, EventArgs e)
{
tmultiplicacion.Text = (int.Parse(tn1.Text) * int.Parse(tn2.Text)) + "";
}

Y la division:
private void button4_Click(object sender, EventArgs e)
{
tdivision.Text = (int.Parse(tn1.Text) / int.Parse(tn2.Text)) + "";
}

Crear un procediminto Estatico en WindowsForm

10/04/2011
1. Requerimientos del Participante:
Tener Instalada la plataforma c#
Visual Estudio 2010
CSharp developèd 4.1

2. Objetivos:
Usar las herramientas de desarrollo proporcionas por el IDE para la creación de Aplicaciones


3. Temas:
Desarrollar una aplicación en WindowsForm que permita el ingreso de dos Números y realizar con ellos las operaciones basicas de la aritmetica convencional esto es, sumarlos, restarlos, multiplicarlos y dividirlos entre si.


Ir al Curso

lunes, 3 de octubre de 2011

Pintar a Super Mario en java

10/03/2011
Hoy le traigo una forma de como dibujar a super mario, no es muy complicado de hacer todo lo hacemos con la clasepaint
una parte del codigo

//decimos de que color vamos a dibujar
g.setColor(new Color(155, 255, 247));
//pinta un rectangulo relleno
//(pos x, pos y, ancho, alto)
g.fillRect(0, 0, 400, 325);

g.setColor(new Color(255, 255, 0));
//pinta circulos rellenos
//(pos x, pos y, ancho, alto)
g.fillOval(105, 60, 20, 25);
g.fillOval(80, 60, 20, 25);
g.fillOval(55, 60, 20, 25);

//pinta un rectangulo 3D
g.draw3DRect(112, 65, 5, 15, true);
g.draw3DRect(87, 65, 5, 15, true);
g.draw3DRect(62, 65, 5, 15, true);

g.setColor(Color.black);
//dibuja la orilla de un circulo
g.drawOval(105, 60, 20, 25);
g.drawOval(80, 60, 20, 25);
g.drawOval(55, 60, 20, 25);

//dibuja un rectangulo con las esquinas redondeadas
g.fillRoundRect(65, 125, 100, 50, 10, 10);
g.setColor(new Color(173, 231, 255));
g.fillRoundRect(50, 110, 100, 50, 10, 10);
g.setColor(Color.black);
g.drawRoundRect(50, 110, 100, 50, 10, 10);
g.drawOval(53, 113, 8, 8);
g.drawOval(139, 113, 8, 8);
g.drawOval(53, 149, 8, 8);
g.drawOval(139, 149, 8, 8);

//dibuja una linea
g.drawLine(55, 115, 60, 120);
g.drawLine(141, 115, 146, 120);
g.drawLine(55, 151, 60, 156);
g.drawLine(141, 151, 146, 156);

g.fillRoundRect(270, 155, 100, 50, 10, 10);
g.setColor(new Color(255, 189, 181));
g.fillRoundRect(255, 140, 100, 50, 10, 10);
g.setColor(Color.black);
g.drawRoundRect(255, 140, 100, 50, 10, 10);
g.drawOval(258, 143, 8, 8);
g.drawOval(344, 143, 8, 8);
g.drawOval(258, 179, 8, 8);
g.drawOval(344, 179, 8, 8);

g.drawLine(260, 145, 265, 150);
g.drawLine(346, 145, 351, 150);
g.drawLine(260, 181, 265, 186);
g.drawLine(346, 181, 351, 186);

g.fillRoundRect(115, 205, 120, 50, 10, 10);
g.setColor(new Color(74, 220, 86));
g.fillRoundRect(100, 190, 120, 50, 10, 10);
g.setColor(Color.black);
g.drawRoundRect(100, 190, 120, 50, 10, 10);
g.drawOval(103, 193, 8, 8);
g.drawOval(209, 193, 8, 8);
g.drawOval(103, 229, 8, 8);
g.drawOval(209, 229, 8, 8);

g.drawLine(105, 195, 110, 200);
g.drawLine(211, 195, 216, 200);
g.drawLine(105, 231, 110, 236);
g.drawLine(211, 231, 216, 236);

g.drawLine(0, 290, 400, 290);
g.drawLine(0, 300, 400, 300);

g.setColor(new Color(253, 189, 183));
g.fillRect(0, 291, 400, 9);

g.setColor(new Color(243, 143, 71));
g.fillRect(0, 301, 400, 20);


Si lo imaginas,lo programas