jueves, 13 de octubre de 2011

Imagen con detector de bordes en [java]

10/13/2011


En este ejemplo se muestra lo que se denomina detector de bordes(o pasa alta), elkernel de este ejemplo hace que no se aprecieningúncolor, loúnicoque se muestra son los cambios bruscos de color osea solo se muestra los contornos o bordes que compone la imagen
la matriz delkernel es esta:

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


Si lo imaginas,lo programas



Imagen con suavizado en [java]

10/13/2011

Hoy veremos como dar un efecto de suavizado o difuminado a cualquier imagen, en un post anterior ya vimos que es unKernel, en este ejemplo elkerneles una matriz compuesta pornúmerosdel 1/9.La utilidad de este difuminado de la imagen reside en su capacidad para filtrar imágenes con ruido, es decir, igenes en las cuales se puedan apreciar pequeños errores, ya sea por formato o por fallos producidos durante su transmisión. Este efecto ayuda a disminuir la apreciación de esos errores.



Si lo imaginas,lo programas


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)) + "";
}