Java实现画图 给图片底部添加文字标题_第1页
Java实现画图 给图片底部添加文字标题_第2页
Java实现画图 给图片底部添加文字标题_第3页
Java实现画图 给图片底部添加文字标题_第4页
Java实现画图 给图片底部添加文字标题_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第Java实现画图给图片底部添加文字标题目录Java画图给图片底部添加文字标题Java给图片添加文字水印

Java画图给图片底部添加文字标题

需求给图片底部添加文字编号

importjava.awt.Color;

importjava.awt.Font;

importjava.awt.Graphics2D;

importjava.awt.Image;

importjava.awt.RenderingHints;

importjava.awt.font.FontRenderContext;

importjava.awt.geom.Rectangle2D;

importjava.awt.image.BufferedImage;

importjava.io.File;

importjava.io.IOException;

importjavax.imageio.ImageIO;

*JAVA画图(生成文字水印)

*@author杰宝宝

publicclassImageUtil{

*@paramstr

*生产的图片文字

*@paramoldPath

*原图片保存路径

*@paramnewPath

*新图片保存路径

*@paramwidth

*定义生成图片宽度

*@paramheight

*定义生成图片高度

*@return

*@throwsIOException

publicvoidcreate(Stringstr,StringoldPath,StringnewPath,intwidth,intheight){

try{

FileoldFile=newFile(oldPath);

Imageimage=ImageIO.read(oldFile);

Filefile=newFile(newPath);

BufferedImagebi=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);

Graphics2Dg2=bi.createGraphics();

g2.setBackground(Color.WHITE);

g2.clearRect(0,0,width,height);

g2.drawImage(image,0,0,width-25,height-25,null);//这里减去25是为了防止字和图重合

/**设置生成图片的文字样式**/

Fontfont=newFont("黑体",Font.BOLD,25);

g2.setFont(font);

g2.setPaint(Color.BLACK);

/**设置字体在图片中的位置在这里是居中**/

FontRenderContextcontext=g2.getFontRenderContext();

Rectangle2Dbounds=font.getStringBounds(str,context);

doublex=(width-bounds.getWidth())/2;

//doubley=(height-bounds.getHeight())/2;//Y轴居中

doubley=(height-bounds.getHeight());

doubleascent=-bounds.getY();

doublebaseY=y+ascent;

/**防止生成的文字带有锯齿**/

g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

/**在图片上生成文字**/

g2.drawString(str,(int)x,(int)baseY);

ImageIO.write(bi,"jpg",file);

}catch(IOExceptione){

e.printStackTrace();

publicstaticvoidmain(String[]args){

try{

ImageUtilimg=newImageUtil();

img.create("编号:0011","E:\\111.png","E:\\222.png",455,455);

}catch(Exceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

原图:

生成后:

Java给图片添加文字水印

水印操作有很多,例如:给图片添加文字、图片水印,给pdf文件添加水印,给文件加盖公章,这类需求还是时常会遇到的,今天就简单记录一下给图片添加文字水印的demo,仅供大家参考,后续会写别的情况的添加水印的demo,有用到的可以关注一下。

packagecom.gupaoedu.vip.test;

importjavax.imageio.ImageIO;

importjava.awt.*;

importjava.awt.image.BufferedImage;

importjava.io.File;

importjava.io.FileOutputStream;

publicclasswatermark{

*给图片添加水印

publicvoidaddWaterMark(){

Colorcolor=newColor(255,200,0,118);//水印颜色

Fontfont=newFont("微软雅黑",Font.ITALIC,45);//水印字体

StringwaterMarkContent="我爱你ILOVEYOU";//水印内容

StringtarImgPath="C:\\Users\\yun\\Desktop\\新建文件夹\\timg2.jpg";//存储目标路径

try{

Filefile=newFile("C:\\Users\\yun\\Desktop\\新建文件夹\\timg.jpg");//原图片

BufferedImagebuImage=ImageIO.read(file);

intwidth=buImage.getWidth();//图片宽

intheight=buImage.getHeight();//图片高

//添加水印

BufferedImagebufferedImage=newBufferedImage(width,height,BufferedImage.TYPE_INT_BGR);

Graphics2Dg=bufferedImage.createGraphics();

g.drawImage(buImage,0,0,width,height,null);

g.setColor(color);//水印颜色

g.setFont(font);//水印字体

intx=width-2*getWatermarkLength(waterMarkContent,g);//这是一个计算水印位置的函数,可以根据需求添加

inty=height-1*getWatermarkLength(waterMarkContent,g);

g.drawString(waterMarkContent,400,300);//水印位置

g.dispose();//释放资源

FileOutputStream

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论