将 Email 地址转成图片显示,,private fina
分享于 点击 40118 次 点评:14
将 Email 地址转成图片显示,,private fina
private final static IndexColorModel icm = createIndexColorModel();/** * 生成电子邮件图片 * @param email * @param out * @throws IOException */public static void MakeEmailImage(String email, OutputStream out) throws IOException { int height = 22; BufferedImage bi = new BufferedImage(255,height,BufferedImage.TYPE_INT_RGB); Graphics2D g = (Graphics2D)bi.getGraphics(); Font mFont = new Font("Verdana", Font.PLAIN, 14); g.setFont(mFont); g.drawString(email, 2, 19); FontMetrics fm = g.getFontMetrics(); int new_width = fm.charsWidth(email.toCharArray(), 0, email.length()) + 4; int new_height = fm.getHeight(); BufferedImage nbi = new BufferedImage(new_width, new_height, BufferedImage.TYPE_BYTE_INDEXED, icm); Graphics2D g2 = (Graphics2D)nbi.getGraphics(); g2.setColor(new Color(0,0,0,0));//透明 g2.fillRect(0,0,new_width,new_height); g2.setFont(mFont); g2.setColor(new Color(200,0,0)); g2.drawString(email, 2, new_height-4); ImageIO.write(nbi, "gif", out);}//该片段来自于http://byrx.net
用户点评