MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / transferLine

Method transferLine

tools/png2bmp.js:256–300  ·  view source on GitHub ↗
(png, buffer, offset)

Source from the content-addressed store, hash-verified

254 return result;
255 }
256 transferLine(png, buffer, offset) {
257 let pngLine = png.read();
258 let pngOffset = 0;
259 let pngX = 0;
260 let pngWidth = png.width;
261 if (png.channels == 1) {
262 let palette = png.palette;
263 while (pngX < pngWidth) {
264 let index = 4 * pngLine[pngOffset++];
265 buffer[offset++] = palette[index++];
266 buffer[offset++] = palette[index++];
267 buffer[offset++] = palette[index++];
268 buffer[offset++] = palette[index++];
269 pngX++;
270 }
271 }
272 else if (png.channels == 2) {
273 while (pngX < pngWidth) {
274 let gray = pngLine[pngOffset++];
275 buffer[offset++] = gray;
276 buffer[offset++] = gray;
277 buffer[offset++] = gray;
278 buffer[offset++] = pngLine[pngOffset++];
279 pngX++;
280 }
281 }
282 else if (png.channels == 3) {
283 while (pngX < pngWidth) {
284 buffer[offset++] = pngLine[pngOffset++];
285 buffer[offset++] = pngLine[pngOffset++];
286 buffer[offset++] = pngLine[pngOffset++];
287 buffer[offset++] = 255;
288 pngX++;
289 }
290 }
291 else {
292 while (pngX < pngWidth) {
293 buffer[offset++] = pngLine[pngOffset++];
294 buffer[offset++] = pngLine[pngOffset++];
295 buffer[offset++] = pngLine[pngOffset++];
296 buffer[offset++] = pngLine[pngOffset++];
297 pngX++;
298 }
299 }
300 }
301
302 run() {
303 let inputPaths = this.inputPaths;

Callers 1

runMethod · 0.80

Calls 1

readMethod · 0.65

Tested by

no test coverage detected