web worker 的 self

  • self object, which is the global object representing the worker in this scope.
  • 对self对象的译法,未知妥否。

 

 1 // Call the invertImage method when this worker receives a message from the calling script.
 2 // The ‘self’ object contains the only methods a web worker can access apart from those it
 3 // defines and creates itself
 4 //当此worker收到自来于发出调用的脚本的消息时,调用invertImage方法。“self”对象所包含的web worker所能访问的方法就只有那些由web worker自己本身进行定义和创建的方法。
 5 self.addEventListener("message", invertImage, false);
 6 
 7 // Define a function to take an image and invert it, pixel by pixel, using its raw data
 8 //定义一个函数,用作接收图像的原始数据,按像素来逐粒逐粒地实施反相操作。
 9 function invertImage(e) {
10 
11     // The ‘data’ property of the ‘message’ event contains the pixel data passed from
12     // the calling script
13     //“message”事件的“data”属性包含着从发出调用的脚本所包含的像素数据。
14     var message = e.data,
15 
16         // The ‘data’ property of the message passed contains the raw image pixel data
17         //所发送过来的消息中的“data”属性包含着原始图像的像素数据。
18         imagePixels = message.data,
19         x = 0,
20         len = imagePixels.length;
21 
22     // Loop through each pixel, inverting its value within the original pixel data array.
23     // Pixel data is arranged in groups of 4 values, representing the red, green, blue, and
24     // opacity values of each visible screen pixel. We therefore loop through in jumps of 4
25     // on each iteration
26     //循环遍历每一粒像素,使原始像素数据的数组中所保存的值反相。像素数据按4个值进行分组,分别表示屏幕上所见像素的红、绿、蓝和透明度数值。因此,循环的每轮迭代的加数为4。
27     for (; x < len; x += 4) {
28 
29         // To invert a pixel’s value, subtract it from the maximum possible value, which is 255
30         //要对像素值进行反相,可以用最大的可能值(即255)进行相减。
31         imagePixels[x] = 255 - imagePixels[x];
32         imagePixels[x + 1] = 255 - imagePixels[x + 1];
33         imagePixels[x + 2] = 255 - imagePixels[x + 2];
34     }
35 
36     // Finally, post a message containing the updated pixel data back to the calling script
37     //最后,把包含着更新后的像素数据的消息发送回至发出调用的脚本。
38     self.postMessage(message);
39 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。