① 用java語言給圖片加水印失敗 在圖片上加一行文字就行! 我添加後圖片象有曝光一樣,發代碼前請自己測試通過
ImageIO.read()讀取圖片是產生的ICC信息的丟失
http://www.oschina.net/question/1092_23668
② 用Java給jpg圖片加文字水印,加的水印蓋住了原來的圖片,怎麼辦。
jpg文件上的水印的清除方法:
如果需要將帶水印的JPG轉換成05H的PDG:
1、 將PDG批量更名為JPG。如果下載的時候就已經是JPG,則此步省略。
2、用ComicEnhancer Pro打開帶水印的JPG,色彩選「單色」,水印沒了吧?不過這個時候文字多半也會變得很細,可以通過增加「Gamma校正」值,或用「曲線」來加黑。注意「Gamma校正」和「曲線」選一個足矣。調節好以後,轉換成TIFF。
3、將TIFF文件更名為PDG,並且符合PDG文件命名規范,然後用高版本DjVuToy的「PDG壓縮」功能轉換成05H的PDG。注意轉換的時候把「轉換為快速版」選項去掉。
如果不需要轉換成PDG,而是希望在去掉水印的同時盡可能保持清晰:
1、將PDG批量更名為JPG。如果下載的時候就已經是JPG,則此步省略。
2、用ComicEnhancer Pro打開帶水印的JPG,將「高亮度」設置為125,看到那神奇的效果了嗎?如果希望對文字的影響盡可能小,還可以嘗試將「高亮值」設置為210。
3、下面就看你高興了,可以直接存為JPG,也可以在色彩選「16級灰度」、「8級灰度」、「4級灰度」,然後轉換成PNG。灰度級數越少,圖像損失越多,文件越小,16級灰度基本上肉眼看不出文字部分有任何損失,4級灰度則很明顯,可以結合「曲線」或「Gamma校正」等加以改善。
③ 有關Java的awt或者swing實現在圖片上添加文字的處理(像素和字元串長度單位轉換的問題)
先用java.awt.Graphics2D.getFont()取得當前正在使用的字體f,java.awt.Graphics2D.getFontRenderContext()取得當前正在使用的渲染上下文frc
然後再用Rectangle2D rect=f.getStringBounds(str,frc)就可以得到你渲染這些文字所佔據的矩形,使用rect.getWidth(), rect,getHeight()就可以知道這個矩形的大小了。
反過來通過像素大小決定字元串的長度沒有現成的方法。如果你的字體是等寬的可以先用上面的方法求出一個字元的大小然後自己算,不然就只能先試試一個字元,再試試兩個字元……直到超過你要的長度就返回的辦法了(看起來效率比較低,不過實際使用的時候不是很影響性能)
④ Java實現添加文字水印、圖片水印功能實戰!
本文介紹Java實現圖片上加文字水印的方法,水印可以是圖片或文字,操作簡便。
Java實現圖片添加水印分為文字水印與圖片水印。
獲取原始圖片信息。步驟一:獲取圖片。
通常,圖片獲取方式有本地讀取與網路讀取兩種。
讀取本地圖片,示例代碼如下。
讀取網路圖片,示例代碼如下。
添加水印。獲取圖片後,通過畫筆實現水印添加,水印支持文字與圖片。
畫筆配置水印顏色、大小、樣式。
計算水印內容長度的getWatermarkLength方法。
使用Font設置字體。
正確設置水印坐標避免看不到效果。
方法一:設置固定坐標值。
方法二:根據原圖大小設置,如放置在中心。
處理圖片至本地,查看添加效果。
代碼執行後,本地生成t.png,顯示文字水印。
實現圖片水印。下載圖片,配置至代碼中。
執行圖片水印代碼,查看t.png顯示水印圖片。
完成Java圖片水印添加。
⑤ Java怎麼在圖片右邊加文字
1、讀取Java本地圖片。
2、讀取網路圖片。
3、創建Java畫筆。
4、添加文字水印。
5、這樣就可以在Java圖片右邊加文字。