日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 为透明图片添加背景颜色

發布時間:2023/12/31 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 为透明图片添加背景颜色 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java 為透明圖片添加背景顏色

  • 需求介紹
    • 解決方式

需求介紹

項目需要實現在線無紙化合同簽署,調用觸屏手寫簽名生成電子合同,在生成合同過程中需要調用OCR 技術對簽署文字進行識別,在此過程中,生成的電子簽圖片背景必須是透明的(為了附著在合同上),但是OCR技術對透明圖片上文字無法識別,因此在調用OCR前需要對圖片進行處理,增加背景顏色,提高識別率。

解決方式

  • 查閱資料發現許多同學使用 java Graphics2D 直接修改透明圖片,但是直接修改的結果是添加了背景顏色,但是不是我們需要的背景顏色,參考地址:
  • 本文的解決方式是預先生成一個白色底片,將透明圖片附在生成的白色圖片上,達到添加背景的目的,具體代碼如下:
  • /*** 前端傳遞的參數為base64編碼的字符串* @param picStr* @return*/ public void str2Image(String picStr) {byte[] decode = Base64Utils.decode(picStr);InputStream in = new ByteArrayInputStream(decode);BufferedImage srcImage;try {srcImage = ImageIO.read(in);changeImageBackground(srcImage);} catch (IOException e) {log.error("ocr 將str轉化io異常:", e);throw new ServiceException("圖片添加背景色異常");}}public void changeImageBackground(BufferedImage srcImage) {BufferedImage outImage = null;try {int oldHeight = srcImage.getHeight();int oldWidth = srcImage.getWidth();int destWidth = oldWidth * 2;int destHeight = oldHeight * 2;outImage = new BufferedImage(destWidth, destHeight, BufferedImage.TYPE_INT_RGB);Graphics2D graphics2D = (Graphics2D) outImage.getGraphics();// 設置背景顏色graphics2D.setBackground(Color.WHITE);graphics2D.clearRect(0, 0, destWidth, destHeight);// 設置圖片居中顯示graphics2D.drawImage(srcImage, (destWidth - oldWidth) / 2, (destHeight - oldHeight) / 2, null);graphics2D.dispose();ByteArrayOutputStream os = new ByteArrayOutputStream();ImageIO.write(outImage, ConstantUtil.FileType.PNG, os);byte[] bytes = os.toByteArray();String string = Base64Utils.encodeToString(bytes);// log.info(string);// 調用ocr服務// sendOcr(string);} catch (IOException e) {log.error("對ocr圖片操作異常", e);throw new ServiceException("對ocr圖片操作異常");}}

    總結

    以上是生活随笔為你收集整理的java 为透明图片添加背景颜色的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。