Guest User

Untitled

a guest
Nov 25th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1.  
  2. function grayscale(image) {
  3. var imgObj = $(image).get(0);
  4. if (! imgObj) return;
  5.  
  6. $(image).attr("orig", $(image).attr("src"));
  7.  
  8. if($.browser.msie){
  9. grayscaleImageIE(imgObj);
  10. } else {
  11. imgObj.src = grayscaleImage(imgObj);
  12. }
  13. }
  14.  
  15. function resetImage(image) {
  16. var imgObj = $(image).get(0);
  17. if (! imgObj) return;
  18.  
  19. if($.browser.msie){
  20. resetImageIE(imgObj);
  21. } else {
  22. imgObj.src = $(image).attr("orig");
  23. }
  24. }
  25.  
  26.  
  27. function grayscaleImageIE(imgObj)
  28. {
  29. imgObj.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(grayScale=1)';
  30. }
  31.  
  32. function resetImageIE(imgObj)
  33. {
  34. imgObj.style.filter = '';
  35. }
  36.  
  37. function grayscaleImage(imgObj)
  38. {
  39. var canvas = document.createElement('canvas');
  40. var canvasContext = canvas.getContext('2d');
  41.  
  42. var imgW = imgObj.width;
  43. var imgH = imgObj.height;
  44. canvas.width = imgW;
  45. canvas.height = imgH;
  46.  
  47. canvasContext.drawImage(imgObj, 0, 0);
  48. var imgPixels = canvasContext.getImageData(0, 0, imgW, imgH);
  49.  
  50. for(var y = 0; y < imgPixels.height; y++){
  51. for(var x = 0; x < imgPixels.width; x++){
  52. var i = (y * 4) * imgPixels.width + x * 4;
  53. var avg = (imgPixels.data[i] + imgPixels.data[i + 1] + imgPixels.data[i + 2]) / 3;
  54. imgPixels.data[i] = avg;
  55. imgPixels.data[i + 1] = avg;
  56. imgPixels.data[i + 2] = avg;
  57. }
  58. }
  59.  
  60. canvasContext.putImageData(imgPixels, 0, 0, 0, 0, imgPixels.width, imgPixels.height);
  61. return canvas.toDataURL();
  62. }
Add Comment
Please, Sign In to add comment