今天在逛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();
- }
- }
- }
分享到:
相关推荐
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...
Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印...
jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...
jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...
jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...
jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...
jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...
jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...
jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...
jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...
jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器支持运行PHP和其它fastcgi应用程序,将Servlet容器充当成一个FastCGI 的网关。...
这里边包括:第1章 Java图形用户界面编程 1 实例1 布局管理 2 实例2 设计软件启动界面 9 实例3 实现多色窗口 11 实例4 切分窗口 13 实例5 丰富多彩的按钮 15 实例6 在窗口中显示背景图 16 实例...