港彩论坛港彩图库266y

幽默玄机图片 当鼠标悬浮在图像上


更新时间:2019-06-03  浏览刺次数:


c?用HTML5创建超酷图像灰度渐变效果_知识库_博客园
曾几何时,网站上显示的灰度图像必须手动进行转换。现在使用HTML5画布,图像可以被巧妙的转换为灰色,而不必使用图像编辑软件。我下面有一个示例,展示如何使用HTML5和jQuery动态的将彩色图像转换为灰色。奉献者:感谢达西克拉克(我在Themify的合伙人)贡献jQuery和Javascript代码。  目的   这个示例的目的是向你展现如何使用HTML5和jQuery创建一个灰度/彩色图像的鼠标悬浮效果。在HTML5出现前,实现这个效果需要两幅图像,彩色的和灰度的版本。现在HTML5让创建这个效果更加容易和高效,因为灰色图像将会直接从原始文件生成。我期望你会发现这个脚本在例如陈设橱或者相片册的设计里相当有用。  jQuery代码   下面的jQuery代码会找寻目标图像并生成一个灰度的版本。当鼠标悬浮在图像上,代码将会把灰度图像渐变为彩色的。 1. mce:script src="jquery.min.js" mce_src="jquery.min.js" type="text/javascript"/mce:script 2. mce:script type="text/javascript"!-- 3. 4. // On window load. This waits until images have loaded which is essential 5. $(window).load(function(){ 6. 7. // Fade in images so there isn't a color "pop" document load and then on window load 8. $(".item img").fadeIn(500); 9. 10. // clone image 11. $('.item img').each(function(){ 12. var el = $(this); 13. el.css({"position":"absolute"}).wrap("div class='img_wrapper' style="display: inline-block" mce_style="display: inline-block"").clone().addClass('img_grayscale').css({"position":"absolute","z-index":"998","opacity":"0"}).insertBefore(el).queue(function(){ 14. var el = $(this); 15. el.parent().css({"width":this.width,"height":this.height}); 16. el.dequeue(); 17. }); 18. this.src = grayscale(this.src); 19. }); 20. 21. // Fade image 22. $('.item img').mouseover(function(){ 23. $(this).parent().find('img:first').stop().animate({opacity:1}, 1000); 24. }) 25. $('.img_grayscale').mouseout(function(){ 26. $(this).stop().animate({opacity:0}, 1000); 27. }); 28. }); 29. 30. // Grayscale w canvas method 31. function grayscale(src){ 32. var canvas = document.createElement('canvas'); 33. var ctx = canvas.getContext('2d'); 34. var imgObj = new Image(); 35. imgObj.src = src; 36. canvas.width = imgObj.width; 37. canvas.height = imgObj.height; 38. ctx.drawImage(imgObj,正版必中一肖图, 0, 0); 39. var imgPixels = ctx.getImageData(0, 0, canvas.width, canvas.height); 40. for(var y = 0; y imgPixels.height; y++){ 41. for(var x = 0; x imgPixels.width; x++){ 42. var i = (y * 4) * imgPixels.width + x * 4; 43. var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3; 44. imgPixels.data[i] = avg; 45. imgPixels.data[i + 1] = avg; 46. imgPixels.data[i + 2] = avg; 47. } 48. } 49. ctx.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height); 50. return canvas.toDataURL(); 51. } 52. 53. // --/mce:script   如何使用  在你的站点上使用这个效果:引用jQuery.js粘贴以上的代码设置目标图像(例如.post-img, img,正版太子报,.gallery img等等)你可以更改动画的速度(例如1000=1秒)  兼容性   可以工作在任何支持HTML5和Javascript的浏览器上,例如Chrome、Safari和Firefox。如果浏览器不支持HTML5,这个效果将会退回到原始的彩色图片。注意:如果本地文件在Firefox和Chrome上不工作,你必须要把HTML代码放到一个Web服务器上?
Copyright 2017-2023 http://www.dogztv.com All Rights Reserved.