Convert text to image file on Android

后端 未结 3 1643
暖寄归人
暖寄归人 2020-12-15 14:27

I have a text document (.txt). I want to convert it to an image (.png or .jpg). For example, black text on white background. How can I do that programmatically?

3条回答
  •  一生所求
    2020-12-15 14:50

    This is what you need:

    http://mvnrepository.com/artifact/org.apache.xmlgraphics/xmlgraphics-commons/1.3.1

    I can provide you sample code if you want.

    Edit: simple example: package v13;

    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    
    import org.apache.xmlgraphics.image.codec.png.PNGImageEncoder;
    
    public class Deneme {
        public static void main(String[]args){
            JFrame jf = new JFrame();
            jf.setVisible(true);
    
            JPanel jp = new JPanel();
            jf.add(jp); 
            JLabel jl = new JLabel("trial text");
            jf.add(jl);
            jf.setSize(300, 200);
    
            JFileChooser jfc = new JFileChooser();
            int temp = jfc.showSaveDialog(jfc);
            if (temp == JFileChooser.APPROVE_OPTION) {
                System.out.println(jfc.getSelectedFile());
                Component myComponent = jf;
                Dimension size = myComponent.getSize();
                BufferedImage myImage = new BufferedImage(size.width,
                        size.height, BufferedImage.TYPE_INT_RGB);
                Graphics2D g2 = myImage.createGraphics();
                myComponent.paint(g2);
                try {
                    OutputStream out = new FileOutputStream(jfc
                            .getSelectedFile().getAbsolutePath()
                            + ".png");
                    PNGImageEncoder encoder = new PNGImageEncoder(out, null);
                    encoder.encode(myImage);
                    out.close();
                } catch (Exception e) {
                    System.out.println(e);
                }
            }
           }
        }
    

提交回复
热议问题