22/12/10 20:48
crashoverride
Come da titolo vorrei fare in Java un programma che prende un immagine in Input ed in Output dia un'altra immagine ma formato da testo...
Per ora ho scritto le seguenti classi:
Classe per la GUI
Classe JImageLoader
Ora dovrei fare la classe per fare quello che ho detto ma non sò come iniziare consigli?
Grazie!
In caso non avreste capito vorrei fare una cosa del genere:
Per ora ho scritto le seguenti classi:
Classe per la GUI
import javax.swing.*; import java.awt.BorderLayout; import java.awt.image.*; public class ImageToTextGUI { private JFrame f; private JPanel p; private JLabel image; ImageToTextGUI(){ f = new JFrame("Image2Text"); BufferedImage bi = JImageLoader.loadImage("/Users/nicolagheza/Desktop/immagine.jpg"); BufferedImage icon = JImageLoader.getImageIcon(bi); ImageIcon imageIcon = new ImageIcon(icon); image = new JLabel(); image.setIcon(imageIcon); f.add(image, BorderLayout.CENTER); f.pack(); f.setVisible(true); } public static void main(String args[]){ new ImageToTextGUI(); } }
Classe JImageLoader
import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.image.*; import javax.imageio.ImageIO; import java.io.*; import javax.swing.*; public class JImageLoader{ /** * This method allows to load an Image. * @param url It's the path of the image. * @return It return a BufferedImage object contains the Image we want to add. */ public static BufferedImage loadImage(String url){ BufferedImage loaded = null; try { loaded = ImageIO.read(new File(url)); }catch(IOException e){ e.printStackTrace(); } return loaded; } public static BufferedImage getImageIcon(BufferedImage bufferedImage){ int newW = 100; int newH = 100; int h = bufferedImage.getHeight(); int w = bufferedImage.getWidth(); BufferedImage bi = new BufferedImage(newW, newH, bufferedImage.getType()); Graphics2D g = bi.createGraphics(); g.drawImage(bufferedImage, 0, 0, newW, newH, 0, 0, w, h, null); g.dispose(); return bi; } }
Ora dovrei fare la classe per fare quello che ho detto ma non sò come iniziare consigli?
Grazie!
In caso non avreste capito vorrei fare una cosa del genere:
Ultima modifica effettuata da crashoverride 22/12/10 21:38
aaa