JAVA給微信公眾號二維碼新增LOGO時總是生成灰度圖片的原因及解決辦法
大家都知道微信公眾號可以從微信官方伺服器獲取對應的二維碼(包括臨時二維碼及永久二維碼),這樣的需求常用於商業客戶層次關係管理場景,但是如果有很多客戶,就算二維碼中的SCENCE_ID不同,就憑肉眼不容易看出來,那麼我常用的做法就是在二維碼中間新增一個LOGO,一般是當前客戶自己的微信圖片。
我們根據TOKEN從https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKEN獲取到二維碼後,引數如下兩個博文來進行合成:
http://blog.csdn.net/u013142781/article/details/50310419
https://www.cnblogs.com/lmei/p/4626042.html
最後發現,生成的圖片竟然無論怎麼搞都是黑白的。
通過仔細觀察,從微信取下來的二維碼圖片是grayscale,也就是顏色空間是灰階的,那麼我們用通用的方式以這個二維碼為底圖向上面疊加LOGO的時候,得到的還是灰階圖片,以致引起這個問題。問題找到了,那麼解決方式就好說了。參考:
http://blog.csdn.net/10km/article/details/51866321
這篇文章
java.awt.image包下面有個類java.awt.image.ColorConvertOp,類名直譯就是”顏色轉換操作”。
顧名思義,它的作用就是將一個色彩空間(color space)的影象轉換為另一個色彩空間的影象。有了這個神器我們就能輕易的將一張彩色圖你像轉換成灰度(gray)或其他色彩空間影象。程式碼非常簡單,只要一行。
public static BufferedImage toGray(BufferedImage srcImg){
return new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_sRGB), null).filter(srcImg, null);
}
這樣我們就將原來的二維碼圖片變換了顏色空間,再利用上述兩篇博文提到的方式合成圖片即可。
更多文章參考:
Image轉BufferedImage並提取畫素進行顏色空間轉換:
http://blog.csdn.net/qq_29859497/article/details/72860023
Java載入圖片 Image與BufferedImage 區別:
http://blog.csdn.net/landlord921/article/details/38736619
相關文章
- 公眾號生成微信渠道二維碼的方法?
- 微信公眾號-點選選單回覆圖片二維碼
- 接入微信公眾號登入-二維碼圖片
- 微信公眾號引數二維碼生成器使用?
- 微信域名被封的原因及解決辦法
- 圖片下方三畫素原因及解決辦法
- 生成帶二維碼圖片並通過微信分享
- 幾行程式碼教你解決微信生成海報及二維碼行程
- 如何製作並美化我們的微信公眾號的二維碼?
- 配置微信公眾號,token錯誤解決
- 微信公眾號更新新增選單
- 【解決】小程式|微信公眾號授權給第三方平臺時報“沒有繫結公眾號”
- 微信服務號分享圖片(包括微信頭像以及二維碼)
- php公眾號開發,訊息丟失的原因和解決辦法PHP
- 微信公眾號自動回覆_JavaJava
- 微信公眾號自動回覆新增檔案
- 微信公眾號新增“線上客服”的兩種思路
- 基於ZXingAndroid實現生成二維碼圖片和相機掃描二維碼圖片即時解碼的功能Android
- php生成二維碼圖片PHP
- url 生成二維碼圖片
- 【Java】微信公眾號開發筆記Java筆記
- 微信公眾號jssdk分享功能通用寫法JS
- 基於ZXing Android實現生成二維碼圖片和相機掃描二維碼圖片即時解碼的功能Android
- 微信公眾號的留言功能
- 微附件無法正常使用被封公眾號文章上傳檔案解決辦法(微附件官方解釋)
- 【C#版本】微信公眾號模板訊息對接(二)(圖文詳解)C#
- 微信公眾號排版 | 彙總和實戰
- 實現支援多公眾號的微信公眾號掃碼登入服務
- 微信公眾號圖文中怎麼新增附件?Word、Excel、PPT、PDF的文件附件Excel
- 微信公眾號開發
- 微信公眾號智慧回答
- 微信公眾號託管
- 微信公眾號定時群發平臺
- 利用微信公眾號提供的官方API上傳圖片獲取永久圖片素材!當圖床用!API圖床
- [實戰]製作簡單的公眾號二維碼關注圖
- 狀態碼造成微信公眾號“該公眾號提供的服務出現故障”
- 微搜網·微信公眾號大全
- 微信公眾號-入門的坑