我想在JPEG圖像中遮蓋白色(R:255,G:255,B:255)的全部區域,因此在瀏覽器中查看白色區域時,我會看到底下(這些區域將是透明的)。我不介意使用JQuery,CSS 3或Canvas,無論如何實現這一點。由於遮蔽JPEG圖像的白色區域
OK,代碼:
<body style="background-color:red;">
<canvas id="myCanvas" width="228" height="454"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var x = 0;
var y = 0;
var width = 228;
var height = 454;
var imageObj = new Image();
imageObj.onload = function()
{
context.drawImage(imageObj, x, y, width, height);
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
var imgData = ctx.getImageData(0, 0, width, height);
var pixels = imgData.data; // get pixel data
for (var i = 0; i < pixels.length; i +=4)
{
var r = pixels[i ];
var g = pixels[i + 1]
var b = pixels[i + 2];
if (r === 255 && g === 255 && b === 255) {
pixels[i + 3] = 1;
}
}
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.putImageData(imgData, 0, 0);
};
imageObj.src = 'img/test_image.jpg';
</script>
</body>
此代碼似乎做的工作,但我得到的是全白的區域一些零散的白點。
不可能.......... – Liam 2013-03-07 12:21:27
:) - 確定的答案? – 2013-03-07 12:21:54
在Photoshop中打開它們,刪除區域,另存爲PNG。 – hjpotter92 2013-03-07 12:23:41