今天在逛oschina的时候看见里面有一个代码分享的功能还不错,红薯老大贴出了一段代码个人觉得很实用转出来分享下。
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics2D;
- import java.awt.image.BufferedImage;
- import java.awt.image.IndexColorModel;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.OutputStream;
-
- import javax.imageio.ImageIO;
-
-
-
-
-
-
- public class TextImageUtils {
-
- private final static IndexColorModel icm = createIndexColorModel();
-
- static IndexColorModel createIndexColorModel() {
- BufferedImage ex = new BufferedImage(1, 1, BufferedImage.TYPE_BYTE_INDEXED);
- IndexColorModel icm = (IndexColorModel) ex.getColorModel();
- int SIZE = 256;
- byte[] r = new byte[SIZE];
- byte[] g = new byte[SIZE];
- byte[] b = new byte[SIZE];
- byte[] a = new byte[SIZE];
- icm.getReds(r);
- icm.getGreens(g);
- icm.getBlues(b);
- java.util.Arrays.fill(a, (byte)255);
- r[0] = g[0] = b[0] = a[0] = 0;
- return new IndexColorModel(8, SIZE, r, g, b, a);
- }
-
-
-
-
-
-
-
- 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);
- }
-
-
-
-
-
-
-
- public static void MakePhoneImage(String phone, 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.BOLD, 20);
- g.setFont(mFont);
- g.drawString(phone, 2, 19);
- FontMetrics fm = g.getFontMetrics();
- int new_width = fm.charsWidth(phone.toCharArray(), 0, phone.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(phone, 2, new_height-4);
- ImageIO.write(nbi, "gif", out);
- }
-
-
-
-
-
-
- public static void MakeProductAttribute(String attribute, 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("宋体", Font.BOLD, 13);
- g.setFont(mFont);
- g.drawString(new String(attribute), 2, 19);
- FontMetrics fm = g.getFontMetrics();
- int new_width = fm.charsWidth(attribute.toCharArray(), 0, attribute.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(attribute, 2, new_height-4);
- ImageIO.write(nbi, "gif", out);
- }
-
- public static void main(String[] args) throws IOException {
- String num = "020-85551111";
- FileOutputStream fos = new FileOutputStream("D:/phone.gif");
- try{
- MakePhoneImage(num, fos);
- }finally{
- fos.close();
- }
- String email = "xxxxx@oschina.net";
- FileOutputStream fos2 = new FileOutputStream("D:/email.gif");
- try{
- MakeEmailImage(email, fos2);
- }finally{
- fos2.close();
- }
- }
- }
分享到:
相关推荐
Java版电子邮件系统是一种基于Java编程语言实现的电子邮件应用程序,它允许用户发送、接收、存储和管理电子邮件。在本文中,我们将深入探讨Java在构建电子邮件系统中的应用,包括核心技术、架构设计以及实现邮件功能...
Java电子邮件系统是基于Java编程...总的来说,这个Java电子邮件系统项目涵盖了Java编程、JavaMail API使用、JSP动态网页开发以及SQL Server数据库管理等多个IT领域的知识,为学习和实践这些技术提供了宝贵的实际案例。
在Java编程中,发送带有HTML格式和图片的邮件是一项常见的任务,这通常涉及到电子邮件API的使用,例如JavaMail API。以下是对这个主题的详细讲解: 首先,JavaMail API是Java平台上的一个开源库,用于处理电子邮件...
Java版邮件客户端是一种基于Java语言实现的程序,它允许用户收发电子邮件,是学习和理解Java编程技术的一个实用示例。这个项目的核心是利用JavaMail API,这是一个强大的库,专门用于处理电子邮件通信。通过JavaMail...
在Java编程中,发送带有模板的邮件是一项常见的任务,尤其对于企业级应用来说,通过电子邮件进行通知、报告或客户服务是必不可少的。JavaMail API提供了一种标准的方式来处理邮件的发送,而结合模板技术,我们可以...
以下是使用Java发送电子邮件的基本步骤: 1. **建立SMTP连接**:创建一个`Socket`对象并连接到SMTP服务器,通常默认端口为25,SSL/TLS加密时可能为465或587。 2. **身份验证**:与SMTP服务器进行对话,发送登录...
Java提供了多种方式来发送电子邮件,其中使用JavaMail API结合Spring框架是常见且高效的方法之一。本篇将基于给定的代码片段,深入解析如何在Java应用中实现电子邮件的发送,包括纯文本邮件、HTML格式邮件以及内嵌...
本书中的示例代码旨在帮助读者理解如何使用Java进行网络编程,特别是如何通过客户端套接字(Client Sockets)来发送电子邮件。通过本书的学习,读者不仅可以掌握基本的网络编程概念,还能了解如何与SMTP服务器进行交互...
Java Mail API是Java平台的一个扩展,用于读取和发送电子邮件。它提供了丰富的API来处理各种邮件任务,如发送邮件、读取邮件、处理附件等。Java Mail API基于Internet邮件协议,支持SMTP(简单邮件传输协议)用于...
Java邮件图形化开发是利用Java编程语言来创建一个具有用户友好图形界面的程序,用于发送、接收和管理电子邮件。在本项目中,开发者遵循了张孝祥的《Java邮件开发详解》一书中的指导,利用集成开发环境NetBeans进行...
Java邮件发送组件是Java开发中用于发送电子邮件的工具,它使得开发者能够轻松地在应用程序中实现邮件功能。Java Mail API是实现这一功能的核心库,它提供了丰富的接口和类,允许程序进行邮件的创建、发送以及处理。...
总结来说,这个项目是一个使用Java和JavaSwing构建的电子邮件收发系统,开发者可以使用Eclipse IDE进行开发,并且已经包含了所有必要的库和配置文件。通过这个项目,可以学习到如何利用JavaMail API处理邮件收发,...
JavaMail API是Java中用于处理电子邮件的标准库,包括了发送邮件、接收邮件等功能。要发送普通邮件,你需要设置SMTP服务器地址、端口、用户名和密码,然后创建`Message`对象并设置发件人、收件人、主题和正文,最后...
在Java编程环境中,接收电子邮件是一项常见的任务,通常通过JavaMail API来实现。JavaMail API是一个开源库,提供了处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件服务的功能。...
本研究主要关注的是如何使用Java语言来构建一个电子邮件系统。以下是对这个主题的详细讨论: 1. **JavaMail API**: JavaMail API是Java平台上的一个关键组件,用于处理邮件收发功能。它提供了丰富的接口和类,使得...
### Java Desktop System 电子邮件和日历用户指南 #### 电子邮件和日历概述 **Java Desktop System**中的**电子邮件和日历**是一款高级的个人信息管理系统,它整合了多种实用的应用程序,帮助用户高效地管理和组织...
JavaMail是Java平台上的一个开源库,它提供了一组接口和类,使得开发者能够方便地在Java应用中发送和接收电子邮件。这个API支持多种邮件协议,如SMTP(简单邮件传输协议)用于发送邮件,POP3(邮局协议)和IMAP...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
Java编写的邮件服务器是一种利用Java语言实现的网络应用程序,它允许用户通过Web浏览器与POP(Post Office Protocol)和SMTP(Simple Mail Transfer Protocol)服务器进行交互,处理电子邮件的发送和接收。...
在现代软件开发中,特别是在企业级应用中,邮件发送是一项常见的功能,比如在进销存系统中发送库存预警通知,或者在招聘网站上验证用户注册时的电子邮件地址。这些场景都需要通过编程的方式自动发送邮件。本文将探讨...