Ahora también existe una herramienta on-line para comprobar si tu rostro es simétrico
¿Que haremos? Crearemos una aplicación en Visual Studio, la cual hará uso de una webcam para capturar el video en frames independientes y depositarlos en memoria para despues mostralos al usuario a través de un picturebox y un Timer para crear la ilusión de movimiento. ¿Porque lo haremos? Porque es justo y necesario ¿Que necesitamos? [...]
JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. JavaMail implementa el protocolo SMTP (Simple Mail Transfer Protocol) así como los distintos tipos de conexión con servidores de correo -TLS, SSL, autentificación con usuario y password, etc [Según SantaWikipedia] ¿Qué necesitamos? JavaMail 1.4.5 Java y Netbeans 6.9 [...]
En este proyecto realizaremos una aplicación de base de datos Firebird con el lenguaje de programación de Visual Basic de Microsoft, este proyecto tendrá las funciones básicas de gestión INSERT, DELETE, UPDATE y una interfaz de usuario para utilizarlas. ¿Que necesitamos? Visual Studio 2008 o superior Firebird última versión Firebird ADO.NET Data Provider. Conocimientos básicos [...]
La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado. import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; [...]
JAN29
JAN29
package jcapture; import java.awt.*; import java.awt.image.*; import java.io.*; import javax.imageio.ImageIO; import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.filechooser.FileNameExtensionFilter; /** * @web http://www.jc-mouse.net * @author Mouse */ public class Capture { private BufferedImage image; private FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivo de Imagen","jpg"); private JFileChooser fileChooser = new JFileChooser(); /* CAPTURA LA PANTALLA */ public void captureScreen(Point p , Dimension screenSize) { try { //crea el area de captura Rectangle screenRectangle = new Rectangle(p, screenSize); Robot robot = new Robot(); image = robot.createScreenCapture(screenRectangle); Guardar_Foto(); } catch (Exception ex) { } } private void Guardar_Foto(){ String file=null; fileChooser = new JFileChooser(); fileChooser.setFileFilter(filter); //fileChooser.setCurrentDirectory(new java.io.File("e:/capturas/")); int result = fileChooser.showSaveDialog(null); if ( result == JFileChooser.APPROVE_OPTION ){ file = fileChooser.getSelectedFile().toString(); guardar_imagen(file + ".jpg"); } } /* guarda la imagen en disco*/ private void guardar_imagen(String f){ try { //se escribe en disco en formato JPG ImageIO.write(image, "jpg", new File(f)); JOptionPane.showMessageDialog(null, "Captura guardada en disco"); } catch (IOException e) { JOptionPane.showMessageDialog(null, "Error: no se pudo guardar la imagen"); } } }
JAN29

JAN29
JAN29
JAN29
umbral = 127 color = imagen_color.getColorRGB(i,j); R = color.leer_Rojo G = color.leer_Verde B = color.leer_Azul si R > umbral entonces R = 255 sino R = 0 fin si si G > umbral entonces G = 255 sino G = 0 fin si si B > umbral entonces B = 255 sino B = 0 fin si imagen_blanco_negro.setColor(i,j, color(R,G,B) )
import java.awt.Color; import java.awt.image.BufferedImage; /** * @web http://jc-mouse.blogspot.com/ * @author Mouse */ public class WB { private int r,g,b; private Color color; int umbral = 127;// public WB(){} public BufferedImage set_Blanco_y_Negro(BufferedImage f){ BufferedImage bn = new BufferedImage(f.getWidth(),f.getHeight(), BufferedImage.TYPE_BYTE_BINARY); //se traspasan los colores Pixel a Pixel for(int i=0;i<f.getWidth();i++) for(int j=0;j<f.getHeight();j++) bn.setRGB(i, j, f.getRGB(i, j)); return bn; } public BufferedImage set_Blanco_y_Negro_con_Umbral(BufferedImage f){ BufferedImage bn = new BufferedImage(f.getWidth(),f.getHeight(), BufferedImage.TYPE_BYTE_BINARY); //se traspasan los colores Pixel a Pixel for(int i=0;i<f.getWidth();i++){ for(int j=0;j<f.getHeight();j++){ color = new Color(f.getRGB(i, j)); //se extraen los valores RGB r = color.getRed(); g = color.getGreen(); b = color.getBlue(); //dependiendo del valor del umbral, se van separando los // valores RGB a 0 y 255 r =(r>umbral)? 255: 0; g =(g>umbral)? 255: 0; b =(b>umbral)? 255: 0; bn.setRGB(i, j, new Color(r,g,b).getRGB()); } } return bn; } }
JAN29
import java.awt.color.ColorSpace; import java.awt.image.BufferedImage; import java.awt.image.ColorConvertOp; /** * @web http://jc-mouse.blogspot.com/ * @author Mouse */ public class Gris { private BufferedImage foto=null; public Gris(){} public void set_Escala_de_Grises(BufferedImage f){ ColorConvertOp ccop = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); foto = ccop.filter((BufferedImage)f,null); } public BufferedImage getFotoGris(){ return this.foto; } }
JAN29
import java.awt.Color; import java.awt.image.BufferedImage; /** * @web http://jc-mouse.blogspot.com/ * @author Mouse */ public class posterize { private BufferedImage foto; private int r,g,b; private Color c; public posterize(){} public void SetPosterize(BufferedImage f, int nivel){ this.foto = f; for(int i=0;i<foto.getWidth();i++){ for(int j=0;j<foto.getHeight();j++){ //Se obtiene el color RGB de cada pixel c = new Color(foto.getRGB(i, j)); r = c.getRed(); g = c.getGreen(); b = c.getBlue(); //Se calcula el valor para la Posterización r = (r - (r % nivel)); g = (g - (g % nivel)); b = (b - (b % nivel)); //se añade los nuevos valores foto.setRGB(i, j, new Color(r,g,b).getRGB()); } } } public BufferedImage getFoto(){ return this.foto; } }
JAN29
import java.awt.Color; import java.awt.image.BufferedImage; /** * @web http://jc-mouse.blogspot.com/ * @author Mouse */ public class invertir { private BufferedImage foto; private int r,g,b; private Color color; public invertir(){} /* Invierte los bytes de una imagen */ public void SetInvertir(BufferedImage f){ this.foto = f; for(int i=0;i<foto.getWidth();i++){ for(int j=0;j<foto.getHeight();j++){ //se obtiene el color del pixel color = new Color(foto.getRGB(i, j)); //se extraen los valores RGB r = color.getRed(); g = color.getGreen(); b = color.getBlue(); //se coloca en la nueva imagen con los valores invertidos foto.setRGB(i, j, new Color(255-r,255-g,255-b).getRGB()); } } } public BufferedImage getFoto(){ return this.foto; } }
JAN29
[rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb] [rgb]
JAN29
import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.filechooser.FileNameExtensionFilter; /** * @web http://jc-mouse.blogspot.com/ * @author Mouse */ public class H2O extends JPanel implements MouseMotionListener { private FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivo de Imagen","jpg","png"); //tamaño del contenedor private int ancho=0; private int alto=0; //foto y marca de agua private Image Fotografia; private Image Marca_de_Agua; //imagen que se crea en memoria con ambas imagenes private BufferedImage Imagen_en_memoria; //coordenadas de la marca de agua private int Pos_Marca_X=0, Pos_Marca_Y=0; public H2O(){ this.setPreferredSize(new Dimension(ancho,alto)); this.setSize(new Dimension(ancho,alto)); this.setVisible(true); this.repaint(); addMouseMotionListener(this); } //se sobreescribe el metodo paint @Override @SuppressWarnings("empty-statement") protected void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; //se crea una imagen en memoria Imagen_en_memoria = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB); ; Graphics2D gOculta = Imagen_en_memoria.createGraphics(); gOculta.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); //se dibuja las imagenes en el contenedor gOculta.drawImage(Fotografia,0,0,this); gOculta.drawImage(Marca_de_Agua,this.Pos_Marca_X,this.Pos_Marca_Y,this); g2.drawImage(Imagen_en_memoria, 0, 0, this); } //muestra una ventana de dialgo para abrir un archivo de imagen public String Open(String opcion){ String file=null; JFileChooser fileChooser = new JFileChooser(); fileChooser.setFileFilter(filter); int result = fileChooser.showOpenDialog(null); if ( result == JFileChooser.APPROVE_OPTION ){ //se obtiene la direccion del archivo file = fileChooser.getSelectedFile().toString(); if(opcion.equals("foto")){ Fotografia = new ImageIcon(file).getImage(); ancho = Fotografia.getWidth(this); alto = Fotografia.getHeight(this); this.setPreferredSize(new Dimension(ancho,alto)); this.setSize(new Dimension(ancho,alto)); }else if(opcion.equals("marca")){ Marca_de_Agua = new ImageIcon(file).getImage(); } this.repaint(); } return file; } //abre una ventana de dialogo para escoger la direccion y el nombre del archivo a guardar public void Save(){ String file=null; JFileChooser fileChooser = new JFileChooser(); fileChooser.setFileFilter(filter); int result = fileChooser.showSaveDialog(null); if ( result == JFileChooser.APPROVE_OPTION ){ file = fileChooser.getSelectedFile().toString(); guardar_imagen(file + ".jpg"); } } //metodo que guarda la imagen en disco private void guardar_imagen(String f){ try { //se extrae el fomato de la cadena "f" que contiene la direccion String formato = (f.endsWith(".jpg")) ? "jpg" : "png"; //se escribe en disco ImageIO.write(Imagen_en_memoria, formato, new File(f)); JOptionPane.showMessageDialog(null, "La imagen se guardo correctamente..."); } catch (IOException e) { JOptionPane.showMessageDialog(null, "Error: no se pudo crear la imagen"); System.out.println("Error: no se pudo crear la imagen"); } } //movimientos del raton public void mouseDragged(MouseEvent e) { Pos_Marca_X = (int)e.getPoint().getX(); Pos_Marca_Y = (int)e.getPoint().getY(); repaint(); } public void mouseMoved(MouseEvent e) {} }
public class interfaz extends javax.swing.JFrame { //se crea el objeto jpanel H2O H2O j2d = new H2O(); /** Creates new form interfaz */ public interfaz() { initComponents(); this.setTitle("Marca de Agua - by Mouse"); //se añade el jpanel al Scroll jScrollPane1.setViewportView(j2d); this.repaint(); } private void cmdLoad2ActionPerformed(java.awt.event.ActionEvent evt) { Imagen2.setText(j2d.Open("marca")); } private void cmdLoad1ActionPerformed(java.awt.event.ActionEvent evt) { Imagen1.setText(j2d.Open("foto")); } private void cmdSaveActionPerformed(java.awt.event.ActionEvent evt) { if(!Imagen1.getText().isEmpty() && !Imagen2.getText().isEmpty()) j2d.Save(); } /* resto de codigo en netbeans */ }
![]() |
![]() |
![]() |
![]() |