Java實(shí)現(xiàn)畫圖 給圖片底部添加文字標(biāo)題_第1頁
Java實(shí)現(xiàn)畫圖 給圖片底部添加文字標(biāo)題_第2頁
Java實(shí)現(xiàn)畫圖 給圖片底部添加文字標(biāo)題_第3頁
Java實(shí)現(xiàn)畫圖 給圖片底部添加文字標(biāo)題_第4頁
Java實(shí)現(xiàn)畫圖 給圖片底部添加文字標(biāo)題_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第Java實(shí)現(xiàn)畫圖給圖片底部添加文字標(biāo)題目錄Java畫圖給圖片底部添加文字標(biāo)題Java給圖片添加文字水印

Java畫圖給圖片底部添加文字標(biāo)題

需求給圖片底部添加文字編號

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

*生產(chǎn)的圖片文字

*@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是為了防止字和圖重合

/**設(shè)置生成圖片的文字樣式**/

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

g2.setFont(font);

g2.setPaint(Color.BLACK);

/**設(shè)置字體在圖片中的位置在這里是居中**/

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文件添加水印,給文件加蓋公章,這類需求還是時(shí)常會(huì)遇到的,今天就簡單記錄一下給圖片添加文字水印的demo,僅供大家參考,后續(xù)會(huì)寫別的情況的添加水印的demo,有用到的可以關(guān)注一下。

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";//水印內(nèi)容

StringtarImgPath="C:\\Users\\yun\\Desktop\\新建文件夾\\timg2.jpg";//存儲(chǔ)目標(biāo)路徑

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);//這是一個(gè)計(jì)算水印位置的函數(shù),可以根據(jù)需求添加

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

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

g.dispose();//釋放資源

FileOutputStream

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論