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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

把图片做成html,HTML5实践-图片设置成灰度图

發布時間:2025/3/20 HTML 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 把图片做成html,HTML5实践-图片设置成灰度图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以前,在web上要顯示灰度圖片的話,只有手工使用圖片軟件轉換。但是現在借助于html5的canvas可以實現這個過程,而不需要再借助圖片編輯軟件了。我用html5和jquery做了一個demo,來展示如何實現這個功能。

目的

這個demo將會向你展示用html5和jquery,如何實現鼠標在圖片上移動移出時,灰度圖像和原圖之間的切換。在html5出現之前,要實現這個功能就需要準備兩個圖片,一個灰度圖片,一個原圖。但是現在借助于html5可以實現的更快更容易,因為灰度圖片是直接在原圖上生成的。我希望這段js代碼對你在創建文件或者圖片陳列功能的時候有幫助作用。

效果圖

?

jquery 代碼

下面的jquery代碼將會尋找目標圖片,并生成一個灰度的版本。當你鼠標移動到圖片上時,灰度圖片會變成原色。

復制代碼代碼如下:

// 設置 window load事件是為了等待所有圖片加載完畢之后才行運行

$(window).load(function(){

// 使圖片漸入,這樣有顏色的原圖就不會顯示出來了,然后再執行window load 事件

$(".item img").fadeIn(500);

// 復制圖片

$('.item img').each(function(){

var el = $(this);

el.css({"position":"absolute"}).wrap("

").clone().addClass('img_grayscale').css({"position":"absolute","z-index":"998","opacity":"0"}).insertBefore(el).queue(function(){

var el = $(this);

el.parent().css({"width":this.width,"height":this.height});

el.dequeue();

});

this.src = grayscale(this.src);

});

// 使圖片漸入

$('.item img').mouseover(function(){

$(this).parent().find('img:first').stop().animate({opacity:1}, 1000);

})

$('.img_grayscale').mouseout(function(){

$(this).stop().animate({opacity:0}, 1000);

});

});

// 使用canvas制作灰色圖片

function grayscale(src){

var canvas = document.createElement('canvas');

var ctx = canvas.getContext('2d');

var imgObj = new Image();

imgObj.src = src;

canvas.width = imgObj.width;

canvas.height = imgObj.height;

ctx.drawImage(imgObj, 0, 0);

var imgPixels = ctx.getImageData(0, 0, canvas.width, canvas.height);

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;

}

}

ctx.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);

return canvas.toDataURL();

}

如何使用

依照下面的步驟:

引用jquery.js

復制上面的代碼

設置目標圖片(eg: .post-img, img, .gallery img, etc.)

你也可以設置動畫的速度(ie. 1000 = 1 second)

?

兼容性

我嘗試了所有支持html5和canvas的瀏覽器,例如:Chrome, Safari, 和 Firefox。如果是不支持html5的瀏覽器,他只會用原圖,不會生成灰度圖片。

注意:如果本地html文件不能在firefox和chrome上運行的話,你就需要將html文件部署到服務器上去了。

自我實踐

我自己按照教程測試了下,發現些需要注意的事項,使用firefox打開頁面,程序不能正確運行,但是將相關代碼部署到服務器之后可以運行。

必須保證是本地圖片,不然要報Security error。

這是因為:

Canvas是HTML5標準中的畫布元素,可以用來繪制2D和3D圖像.

但是在調試的時候很容易遇到Security error問題.

目前我在調試時遇到過的Security error主要是出現在toDataURL()和src上.

Security error說明這段代碼沒有語義問題,但因為安全原因無法正常運行.

throw Security error的情況:

在Canvas中使用跨域圖片

在本地無服務器環境下進行調試

無法獲取當前域與圖片的關系

在stackoverflow上查到的一些解決方法通常是讓你解決跨域問題.

但實際上如果你本地調試時不使用服務器軟件也會造成這個問題.

例如: 本地調試時使用toDataURL功能,此時的Canvas中使用了本地的圖片文件.在Chrome和Firefox中仍然會throw security error.

常見的解決方法是在本地架設一個服務器環境,或者將內容提交到服務器上再進行調試.

總結

以上是生活随笔為你收集整理的把图片做成html,HTML5实践-图片设置成灰度图的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产美女自慰在线观看 | 日本三级在线 | 国产精品一级黄色片 | 亚洲一区二区三区麻豆 | 欧美h网站 | 中国美女乱淫免费看视频 | 日韩一区二区中文字幕 | 欧美成人手机在线 | 强行挺进白丝老师里呻吟 | 成人av无码一区二区三区 | 久久伊人影视 | 91香蕉视频污污 | 国产69精品一区二区 | 免费观看黄色小视频 | 日韩激情在线视频 | 欧美日韩在线一区二区三区 | 免费成人视屏 | 伊人春色在线观看 | 亚洲最大毛片 | 久久久无码精品亚洲无少妇 | 潘金莲一级淫片aaaaa | 国产成人一区二区三区影院在线 | jzzijzzij亚洲成熟少妇 | 欧美性受xxxx狂喷水 | 欧美色图亚洲自拍 | 91小宝寻花一区二区三区 | 国产精品久久久午夜夜伦鲁鲁 | 欧美三级中文字幕 | 青草国产视频 | 日韩在线欧美 | 神秘马戏团在线观看免费高清中文 | 午夜国产福利 | 麻豆观看| 黄色网久久 | 国产第一福利影院 | 亚洲在线一区 | 成人性生交大片免费看 | 国产91国语对白在线 | 爱情岛论语亚洲入口 | 亚洲图片在线视频 | 国产a视频精品免费观看 | 四虎在线影院 | 色综合天天综合综合国产 | 干一干操一操 | 精品久久人人妻人人做人人 | 久久人人爽人人爽人人 | 免费高清视频在线观看 | 韩国美女一区 | 亚洲国产专区 | 国产精品视频网址 | 91久久精品国产91性色tv | 国产精品9191 | 日日狠狠 | 一区二区三区免费毛片 | 亚洲精品乱码久久久久久国产主播 | 被灌满精子的波多野结衣 | 美女操出白浆 | 麻豆影视国产在线观看 | 天天干天天舔 | 久久中文在线 | 国产一级一级片 | 五月婷网站 | www.199麻豆| 自拍三级 | 精品无码av一区二区三区四区 | 国产叼嘿视频 | 免费的黄色av | 成人毛片大全 | 另类ts人妖一区二区三区 | 美女国产网站 | 九九视频在线观看 | 一区二区视频 | 欧美一区二区三区网站 | 亚洲一区二区三区综合 | 激情插插插 | 欧美极度另类 | 欧美99| 九色视频偷拍少妇的秘密 | 中文人妻熟女乱又乱精品 | 岛国片在线播放 | 日本少妇喂奶漫画 | 久久国产激情 | 久久精品一二区 | 亚洲精品一二三四区 | 久久久久久久久久久久久久久久久 | 日韩经典一区二区三区 | 日本两性视频 | 日本女人黄色片 | 午夜精品一区二区三区在线播放 | 久久久精品久久久 | 无码一区二区波多野结衣播放搜索 | 中文字幕人妻无码系列第三区 | 精品国产三级片在线观看 | 国产视频久久 | av电影一区二区 | 日本福利一区二区 | 18我禁在线观看 | 女人脱了内裤趴开腿让男躁 | 特级新鲜大片片 |