netbeans
新建java项目,你可以自己定义想要的名称,加上这个包import com.sun.org.apache.xml.internal.security.utils.Base⑥④;
新建一个窗口,把图片的base⑥④的字符串显示在文本框内,并且将base⑥④的对象转换成图片对象,把图片绘制在屏幕上。
把窗口做成下图的模样:JTextArea这个显示base⑥④的编码,JPanel是绘制图片。
在类的实例化方法中把文本框设置成自动回车,图片转成Base⑥④的编码太长了,一行不能显示完编码,而且编码中不能出现回车。
双击第一个按钮,编辑按钮的select事件,把“c:\\tupian.jpg”这个图片转换成base⑥④的字符串显示在文本框中: File file=new File('c:/tupian.jpg'); try { BufferedImage bi=ImageIO.read(file); ByteArrayOutputStream bs=new ByteArrayOutputStream(); ImageIO.write(bi, 'jpg', bs); jTextArea1.setText(Base⑥④.encode(bs.toByteArray())); } catch (IOException ex) { }
双击第二个按钮,编辑按钮的select事件,把先前的编码转成图片的对象,对paint绘画图片做准备:try { byte[] byt=Base⑥④.decode(jTextArea1.getText()); InputStream is=new ByteArrayInputStream(byt); image=ImageIO.read(is); jPanel2.repaint(); } catch (Base64DecodingException | IOException ex) { }
在绘图的面板中(JPanel)定义一个绘画方法,把BufferedImage对象包含的图片绘制的JPanel当中:jPanel2 = new javax.swing.JPanel(){ public void paint(Graphics g){ if(image!=null){ g.drawImage(image, 0, 0, jPanel2.getWidth(), jPanel2.getHeight(), 0, 0, image.getWidth(), image.getHeight(), null); } } };
运行java项目,左面把图片生成base⑥④的编码字符串,右面是把base⑥④的编码生成图片对象绘制在屏幕上。