




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建武夷旅游集团有限公司招聘17人笔试参考题库附带答案详解
- 2025河南永银化工实业校园招聘26人笔试参考题库附带答案详解
- 2025新疆机场集团阿勒泰管理分公司招聘36人笔试参考题库附带答案详解
- 2025年云南中烟工业有限责任公司招聘(430人)笔试参考题库附带答案详解
- 纺织工程师考试心理准备与试题及答案
- 考小车c本试题及答案
- 色彩转移测试题及答案
- 铁路编制笔试题型及答案
- 二手车合作协议书合同
- 营销活动面试题及答案
- 中国共产主义青年团团章
- 2024区域代理授权合同书
- 2024年江苏泰州市第五人民医院招考聘用备案制人员165人管理单位遴选500模拟题附带答案详解
- 游戏动漫游戏体验提升及游戏衍生品开发策略
- 体育-小学移动性技能:跳跃游戏教学设计与教案
- 二位数乘二位数600道
- 服务器定期巡检制度
- 核工业数字化转型
- 京东MALL-盛大启航消费品开业庆典活动策划方案
- 南航集团招聘笔试题库2024
- 动漫衍生品拓展 游戏动漫衍生品设计
评论
0/150
提交评论