將圖片以灰色方式顯示的程式碼
方式一:
使用以下CSS程式碼可以實現此效果:
[CSS] 純文字檢視 複製程式碼img{ -webkit-filter:grayscale(100%); -webkit-filter:grayscale(1); filter:grayscale(100%); filter:gray; }
以上程式碼能夠相容谷歌和IE10以下的瀏覽器,但是不支援火狐和IE9以上的瀏覽器。
方式二:
使用javascript方式,完整程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script type="text/javascript"> window.onload=function(){ var imgObj=document.getElementById('theid'); function gray(imgObj){ var canvas = document.createElement('canvas'); var canvasContext = canvas.getContext('2d'); var imgW = imgObj.width; var imgH = imgObj.height; canvas.width = imgW; canvas.height = imgH; canvasContext.drawImage(imgObj, 0, 0); var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH); for(var y = 0; y < imgPixels.height; y++){ for(var x = 0; x < imgPixels.width; x++){ var i = (y * 4) * imgPixels.width + x * 4; var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3; imgPixels.data[i] = avg; imgPixels.data[i + 1] = avg; imgPixels.data[i + 2] = avg; } } canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height); return canvas.toDataURL(); } imgObj.src = gray(imgObj); } </script> </head> <body> <img id="theid" src="mytest/demo/tree.jpg"/> </body> </html>
以上程式碼能夠相容IE8以上、谷歌和火狐等瀏覽器,算相容性還不錯吧。
那麼我們可以將上述兩種方式綜合以下,程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> img { filter:grayscale(100%); filter:gray; } </style> <script type="text/javascript"> window.onload=function(){ var imgObj=document.getElementById('theid'); function gray(imgObj){ var canvas = document.createElement('canvas'); var canvasContext = canvas.getContext('2d'); var imgW = imgObj.width; var imgH = imgObj.height; canvas.width = imgW; canvas.height = imgH; canvasContext.drawImage(imgObj, 0, 0); var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH); for(var y = 0; y < imgPixels.height; y++){ for(var x = 0; x < imgPixels.width; x++){ var i = (y * 4) * imgPixels.width + x * 4; var avg = (imgPixels.data<i> + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3; imgPixels.data<i> = avg; imgPixels.data[i + 1] = avg; imgPixels.data[i + 2] = avg; } } canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height); return canvas.toDataURL(); } imgObj.src = gray(imgObj); } </script> </head> <body> <img id="theid" src="mytest/demo/tree.jpg"/> </body> </html>
以上程式碼能夠相容所有的主流瀏覽器,大家可以放心使用。
相關文章
- CSS圖片的灰色顯示效果CSS
- iphone 將圖片處理成灰色(Gray)的iPhone
- php 隨機顯示圖片的函式程式碼PHP隨機函式
- Overleaf中插入pdf圖片只顯示圖片路徑的解決方式
- 小程式button背景顯示圖片
- js將選擇的圖片顯示在img中JS
- img圖片無法顯示利用onerror事件顯示替代圖片Error事件
- ImageView顯示網路上的圖片View
- 【轉】釋出的QT程式無法顯示圖示和圖片的問題QT
- win10網路圖示灰色怎麼解決_win10不顯示網路圖示灰色修復方法Win10
- 網頁圖片不能顯示 網頁圖片顯示不出來的解決辦法網頁
- 使用程式碼獲得Hybris Commerce裡顯示的產品圖片
- Java——圖片滾動顯示Java
- 讓超出的文字以省略號顯示程式碼例項
- opencv圖片上如何顯示兩個小圖片OpenCV
- win7圖片只顯示圖示不顯示預覽圖解決方案Win7圖解
- iOS設定tabbar不顯示文字,只顯示圖片iOStabBar
- Android學習筆記:如何設定ImageView中圖片的顯示方式Android筆記View
- Flutter 如何將程式碼顯示到介面上Flutter
- JS控制圖片顯示的大小(圖片等比例縮放)JS
- vue el-image 顯示圖片Vue
- [BUG反饋]LINUX下圖示、圖片及驗證碼顯示不正確Linux
- 預載入顯示圖片的藝術
- 資料庫顯示圖片的問題資料庫
- app直播原始碼,el-button自定義圖片顯示APP原始碼
- mac php 圖片驗證碼無法顯示問題MacPHP
- 從庫中讀圖片顯示到頁面上的主要原始碼原始碼
- keil在執行程式時,run按紐顯示為灰色行程
- 微信小程式中base64圖片的顯示與儲存微信小程式
- Android 開源圖片裁剪工具、圖片顯示工具分享Android
- iOS Swift 仿微信聊天圖片顯示iOSSwift
- 動態顯示資料庫圖片資料庫
- cv2.imshow顯示圖片不全
- 掀開圖片顯示介紹的css效果CSS
- 顯示網路圖片變形的處理
- 雨滴式的顯示圖片 (cloud 轉貼) (轉)Cloud
- BMP圖片的複製#顯示到螢幕
- Windows10系統音量圖示顯示灰色開啟不了如何解決Windows