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水印.rar"的压缩包文件,它包含了一段Java源代码,用于实现这一功能。该压缩包有四个文件:RunIt.bat(运行脚本...
在Java编程环境中,给图片添加文字或图片水印是一项常见的图像处理任务,广泛应用于版权保护、品牌宣传等领域。本项目“基于Java给图片添加文字或图片水印”旨在教授如何利用Java实现这一功能,适用于大学生的课程...
这个"Java编写的图片上加文字Demo"项目利用Eclipse 4.2.1作为开发环境,实现了在本地图片上动态添加文字的功能,允许用户自定义字体样式,从而制作出具有个性化的水印。下面我们将深入探讨这一技术实现的关键知识点...
这个名为"java图片上添加文字代码.rar"的压缩包很可能是包含了一个或多个Java类,这些类提供了将文字添加到图片上的功能。让我们深入探讨一下如何在Java中实现这样的功能,以及涉及到的相关技术。 首先,我们需要...
java 图片添加文字,java 图片添加文字
Java原有图片上加文字,对图片进行处理。
在Java编程中,实现图片上传并添加水印效果是一项常见的任务,这通常涉及到图像处理、图形用户界面(GUI)和文件I/O等多个方面。在这个项目中,我们将关注以下几个关键知识点: 1. **Java图像处理库**:Java标准库...
在本教程中,可能有代码演示如何在生成的二维码或合成图片上添加文字,如添加标题或描述。 6. **代码示例**: `ZxingUtils.java`文件很可能包含了上述操作的实现。例如,可能有一个名为`generateQRCode`的方法,...
以上就是关于"Java给图片加文字,加二维码,并且以流的形式给前端展示"的详细知识,包括了图像处理、资源读取、JAR部署注意事项以及前后端交互的实现方法。这些技术在实际开发中非常常见,掌握它们能够帮助你更好地...
在Java编程领域,将文字转换为图片是一种常见的需求,它广泛应用于验证码生成、文本水印、数据可视化等领域。本文将详细讲解如何利用Java实现这一功能,主要涉及以下几个知识点: 1. **Graphics2D API** Java中的`...
Java 实现图片添加水印图片和水印文字 Java 是一种广泛应用于企业级开发的编程语言,拥有强大灵活的图形处理能力。本文将详细介绍如何使用 Java 实现图片添加水印图片和水印文字,并对代码进行解释。 图片添加水印...
JAVA处理图片 加文字水印以及灰色透明背景,处理图片。
在Java编程语言中,给图片添加水印是一项常见的任务,特别是在网站开发中,为了保护版权或者标识来源,经常需要在用户上传的图片上添加特定的文字或图像水印。以下将详细讲解如何使用Java来实现这一功能。 首先,...
综上所述,Tess4J是Java环境中利用Tesseract OCR进行PDF图片文字识别的首选工具。通过合理地利用其API和优化技巧,开发者可以高效地从PDF图像中提取文字,用于数据分析、自动化处理等多种用途。
在Java编程领域,图片处理是一项常见的任务,包括添加水印、改变图片大小等。这里我们将深入探讨这些知识点,以及如何在Struts2框架下实现它们。 首先,让我们了解"图片水印"。水印通常用于保护版权或者为图片增加...
java 图片添加水印 图片叠加文字类 图片生成方法,如果需要在已有的图片叠加文字
在Java编程中,给图片添加水印是一项常见的需求,无论是为了版权保护还是视觉美化。水印可以是图片形式,也可以是文字形式。本教程将详细讲解如何使用Java来实现这一功能,重点在于介绍所需的依赖包。 首先,我们...
根据给定文件的信息,本文将围绕Java操作图片的方法展开,主要涵盖往图片上添加文字以及合并多张图片的功能。这些技术在制作许可证书、安全证书等应用场景中非常实用。 ### 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
水印是在图像或文档上添加的一种视觉标记,它可以是文字、图像或者图形,用于表明所有权、版权信息或增加视觉效果。在数字图像处理中,水印通常被嵌入到图像的数据层中,不影响原始图像的观看,但在一定程度上可以...