當鼠標懸停時,如何讓普通圖像變爲黑白,當鼠標懸空時恢復正常?使用HTML5畫布的jQuery - BW效果
-1
A
回答
1
從http://www.ajaxblender.com/howto-convert-image-to-grayscale-using-javascript.html:
(評論我自己的)
// create canvas element
var canvas = document.createElement('canvas');
var canvasContext = canvas.getContext('2d');
// assuming imgObj is a DOM representation of your image, get the width
var imgW = imgObj.width;
// ... and the height
var imgH = imgObj.height;
// set the canvas to the image dimensions
canvas.width = imgW;
canvas.height = imgH;
// draw the image on the canvas
canvasContext.drawImage(imgObj, 0, 0);
// get every pixel in the image
var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH);
// cycle through the pixels vertically
for(>var y = 0; y < imgPixels.height; y++){
// cycle through the pixels horizontally
for(>var x = 0; x < imgPixels.width; x++){
var i = (y * 4) * imgPixels.width + x * 4;
// create an average grayscale color for the pixel
var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2])/3;
// set the pixel to the newly created average color
imgPixels.data[i] = avg;
// do the same for the next two pixels
imgPixels.data[i + 1] = avg;
imgPixels.data[i + 2] = avg;
}
}
// overwrite the canvas image with the newly created array of pixels
canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);
// get a data URL which is to be used in the SRC attribute of the image
return canvas.toDataURL();
此外,如果你想有一個 '插件和播放' jQuery插件爲你做到這一點,需要看看this jQuery plugin that desaturates the image for you。
+0
嵌套fors有點難看,如果你使用imgPixels.length – 2011-05-01 11:05:06
0
這裏將是功能,因爲我看到它:
$(document).ready(function(){
$("img.a").hover(
function() {
$(this).stop().animate({"opacity": "0"}, "slow");
},
function() {
$(this).stop().animate({"opacity": "1"}, "slow");
});
});
這裏將是CSS:
div.fadehover {
position: relative;
}
img.a {
position: absolute;
left: 0;
top: 0;
z-index: 10;
}
img.b {
position: absolute;
left: 0;
top: 0;
}
我得到這個從這裏:http://bavotasan.com/tutorials/creating-a-jquery-mouseover-fade-effect/
相關問題
- 1. 用HTML5畫布繪製草圖效果
- 2. HTML5畫布中的橋文字效果
- 3. HTML5畫布上的發光效果?
- 4. 如何使用html5在畫布上創建動畫效果?
- 5. 淡出文字效果在HTML5畫布
- 6. 以下鼠標效果的HTML5畫布jquery
- 7. Python等效的HTML5畫布
- 8. 使用HTML5畫布
- 9. 用jQuery啓動紙屑效果(畫布)
- 10. 使用HTML5畫布文本 - SEO後果
- 11. 基本動畫效果 - 我應該使用jQuery還是HTML5 Canvas?
- 12. 使HTML5畫布填充效率更高
- 13. 使用畫布的橡皮擦效果
- 14. 使用HTML5對齊畫布
- 15. HTML5 Canvas動畫效果
- 16. 使用jQuery/HTML5聚焦燈光效果
- 17. Pannable畫布效果
- 18. 使用HTML5畫布繪圖
- 19. 使用jQuery/javaScript和HTML5畫布進行動畫
- 20. Html5畫布動畫
- 21. Jquery使用動畫效果動畫效果的Flash動畫文本
- 22. 動畫選項HTML5畫布/ CSS3/jQuery
- 23. 使用帶有SVG的HTML5畫布
- 24. 動畫jQuery效果
- 25. 使用jQuery動畫與淡出效果
- 26. HTML5畫布的BlendMode
- 27. 關於android畫布效果的效率
- 28. 從HTML5畫布
- 29. HTML5畫布ScreenToIso
- 30. HTML5畫布的jQuery的getContext類上
你想要做手工或者你想要一個可以做到這一點的圖書館? – 2011-05-01 11:02:04