package com.test; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.font.FontRenderContext; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.text.ParseException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import com.common.common.CommonHandleTrans; import com.common.common.DateUtil; import com.sun.image.codec.jpeg.ImageFormatException; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageDecoder; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class TestImage { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { //exportImg2("万魔声学","d:/logo.jpg"); } public static void exportImg1(){ int width = 100; int height = 100; String s = "你好"; File file = new File("d:/image.jpg"); Font font = new Font("Serif", Font.BOLD, 10); BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2 = (Graphics2D)bi.getGraphics(); g2.setBackground(Color.WHITE); g2.clearRect(0, 0, width, height); g2.setPaint(Color.RED); FontRenderContext context = g2.getFontRenderContext(); Rectangle2D bounds = font.getStringBounds(s, context); double x = (width - bounds.getWidth()) / 2; double y = (height - bounds.getHeight()) / 2; double ascent = -bounds.getY(); double baseY = y + ascent; g2.drawString(s, (int)x, (int)baseY); try { ImageIO.write(bi, "jpg", file); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void exportImg2(String username,String headImg){ try { //1.jpg是你的 主图片的路径 InputStream is = new FileInputStream("d:/1.jpg"); //通过JPEG图象流创建JPEG数据流解码器 JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(is); //解码当前JPEG数据流,返回BufferedImage对象 BufferedImage buffImg = jpegDecoder.decodeAsBufferedImage(); //得到画笔对象 Graphics g = buffImg.getGraphics(); //创建你要附加的图象。 //小图片的路径 ImageIcon imgIcon = new ImageIcon(headImg); //得到Image对象。 Image img = imgIcon.getImage(); //将小图片绘到大图片上。 //5,300 .表示你的小图片在大图片上的位置。 g.drawImage(img,400,15,null); //设置颜色。 g.setColor(Color.BLACK); //最后一个参数用来设置字体的大小 Font f = new Font("宋体",Font.PLAIN,25); Color mycolor = Color.red;//new Color(0, 0, 255); g.setColor(mycolor); g.setFont(f); //10,20 表示这段文字在图片上的位置(x,y) .第一个是你设置的内容。 g.drawString(username,100,135); g.dispose(); OutputStream os; //os = new FileOutputStream("d:/union.jpg"); String shareFileName = "\\upload\\" + System.currentTimeMillis() + ".jpg"; os = new FileOutputStream(shareFileName); //创键编码器,用于编码内存中的图象数据。 JPEGImageEncoder en = JPEGCodec.createJPEGEncoder(os); en.encode(buffImg); is.close(); os.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ImageFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关推荐
基于Java给图片添加文字或图片水印 大学生课程设计 基于Java的课程设计 自己大二写的课程设计
(20080318_3)用Java给图片添加文字或图像水印 【Java水印.rar】文件大小:108 KB (111,078 字节) 解压后是Java源代码。
java 图片添加文字,java 图片添加文字
Java原有图片上加文字,对图片进行处理。
工具:Eclipse 4.2.1 功能:实现在本地一张图片上加文字(调整字体,可以做成水印)。
主要通过java实现图片编辑,给图片增加样式以及文字信息
java实现图片上传并添加水印效果(文字水印,蒙版,logo图片),自动进行文字大小行数位置匹配,文字自动换行
Java实现在图片上添加水印图片和水印文字.docJava实现在图片上添加水印图片和水印文字.docJava实现在图片上添加水印图片和水印文字.docJava实现在图片上添加水印图片和水印文字.doc
JAVA处理图片 加文字水印以及灰色透明背景,处理图片。
java 图片添加水印 图片叠加文字类 图片生成方法,如果需要在已有的图片叠加文字
java给图片添加水印,网站开发过程中可能需要对上传的图片添加属于本网站的水印,这是一个工具类,能实现添加文字水印和添加图片水印。
详细教程:https://blog.csdn.net/wysnxzm/article/details/83305036
JAVA实现给图片增加图片水印或者文字水印相关依赖包。
java——图片字体显示方块问题处理 /usr/java/jdk1.7.0_80/jre/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf /usr/java/jdk1.7.0_80/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf
Java为图片添加水印功能,这个水印类的操作比较实用,不但可以旋转水印图像,还可设置其水印图片的透明度,使其与原图融为一体,给图片添加水印,可以设置图片水印的角度,设置对线段的锯齿状边缘处理,第一参数->...
水印 java Graphics2D实现文字图片水印 实现水印四个角水印
包含了一些java对图片操作处理的方法: 1.给图片添加图片水印 2.给图片添加文字水印 3.图片缩放 *主方法测试代码简单易懂
opencv显示图片并添加文字
通过java实现对图片的进行合成处理,合成过程可制定位置,主要场景例如生成工作证或者胸牌
java生成1000张图片,分别在每张图片上写阿拉伯数字1~1000。个人在测试网页显示图片的顺序需要用到带序号的图片,于是自己写了一个方法用java生成了1000张图片分别对应1000个阿拉伯数字