Commit 0296b342 authored by wang's avatar wang

获取webgl2 渲染

parent 6ab56d1a
2.png

5.49 KB

No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -17,11 +17,34 @@ ctx.linkProgram(program); ...@@ -17,11 +17,34 @@ ctx.linkProgram(program);
let programParam1 = ctx.getProgramParameter(program, 35714); let programParam1 = ctx.getProgramParameter(program, 35714);
let buffer1 = ctx.createBuffer(); let buffer1 = ctx.createBuffer();
ctx.bindBuffer(34962, buffer1); ctx.bindBuffer(34962, buffer1);
let Float32Array1 = new Float32Array(6); cbb_1518 = [];
cbb_1519 = [];
cbb_1519[0] = 0;
cbb_1519[1] = 0.5;
cbb_1519[2] = 0.7;
cbb_1519[3] = !0.6;
cbb_1519[4] = !0.4;
cbb_1519[5] = !0.8;
var bl_27 = cbb_1519;
cbb_1518[0] = 0.3;
cbb_1518[1] = 0.7;
cbb_1518[2] = 0;
cbb_1518[3] = 1;
cbb_1518[4] = 0.1;
cbb_1518[5] = 0;
cbb_1518[6] = 0.9;
cbb_1518[7] = 1;
cbb_1518[8] = 0.9;
cbb_1518[9] = 0;
cbb_1518[10] = 0;
cbb_1518[11] = 1;
var bl_0 = cbb_1518;
let Float32Array1 = new Float32Array(cbb_1519);
ctx.bufferData(34962, Float32Array1, 35044); ctx.bufferData(34962, Float32Array1, 35044);
let buffer2 = ctx.createBuffer(); let buffer2 = ctx.createBuffer();
ctx.bindBuffer(34962, buffer2); ctx.bindBuffer(34962, buffer2);
let Float32Array2 = new Float32Array(12); let Float32Array2 = new Float32Array(cbb_1518);
ctx.bufferData(34962, Float32Array2, 35044); ctx.bufferData(34962, Float32Array2, 35044);
let attribLocationAPosition = ctx.getAttribLocation(program, 'aPosition'); let attribLocationAPosition = ctx.getAttribLocation(program, 'aPosition');
let attribLocationAColor = ctx.getAttribLocation(program, 'aColor'); let attribLocationAColor = ctx.getAttribLocation(program, 'aColor');
...@@ -44,3 +67,23 @@ console.log(unint8Array+'') ...@@ -44,3 +67,23 @@ console.log(unint8Array+'')
var img = new Image()
img.src = "data:image/png;base64,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"
var c = document.createElement('canvas')
var ctx1 = c.getContext('2d')
ctx1.drawImage(img,0,0)
let unint8Array2 = new Uint8Array(90000);
ctx.readPixels(50, 0, 100, 128, 6408, 5121, unint8Array2);
console.log(unint8Array2+'')
const {Canvas, Image} = require('canvas');
const canvas = new Canvas(150, 150);
const ctx = canvas.getContext('2d');
const img = new Image();
img.src = "data:image/png;base64,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"
let unint8Array2 = new Uint8Array(90000);
ctx.readPixels(50, 0, 100, 128, 6408, 5121, unint8Array2);
console.log(unint8Array2+'')
\ No newline at end of file
import cv2
im: cv2.Mat = cv2.imread('/Users/wang/Downloads/1.png', cv2.IMREAD_UNCHANGED)
print(im.shape)
print(im.size)
im2: cv2.Mat = im[50:150, 0:128]
print(im2.tolist())
print(im2.shape)
cv2.imwrite('2.png', im2)
\ No newline at end of file
...@@ -1191,6 +1191,7 @@ Object.defineProperties(OffscreenCanvasRenderingContext2D.prototype, r) ...@@ -1191,6 +1191,7 @@ Object.defineProperties(OffscreenCanvasRenderingContext2D.prototype, r)
window.OffscreenCanvasRenderingContext2D = OffscreenCanvasRenderingContext2D window.OffscreenCanvasRenderingContext2D = OffscreenCanvasRenderingContext2D
window.CanvasRenderingContext2D = OffscreenCanvasRenderingContext2D window.CanvasRenderingContext2D = OffscreenCanvasRenderingContext2D
window.CSSCounterStyleRule = v_saf(function CSSCounterStyleRule(){})
function randInt(min, max) { function randInt(min, max) {
return Math.round(Math.random() * (max - min) + min) return Math.round(Math.random() * (max - min) + min)
} }
......
var bl_33 = function () {
var bl_3 = arguments[0];
if (typeof bl_3 === "string") {
cbb_105 = [];
var bl_1 = cbb_105;
while (true) {
while (true) {
if (!(bl_2 < bl_3["length"])) {
var bl_2 = 0;
var bl_0 = 0;
while (true) {
if (!(bl_0 < bl_1["length"])) {
var bl_2 = lb_2;
return lb_2 !== null;
}
var bl_2 = 0 | (bl_2 << 5) - bl_2 + bl_1[bl_0];
var bl_0 = Number(bl_0) + 1;
}
}
if (!(1 === bl_3["length"] - bl_2)) {
break;
}
cbb_106 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(bl_3["charCodeAt"], bl_3, [bl_2]);
cbb_107 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(bl_1["push"], bl_1, [cbb_106 << 16]);
var bl_2 = bl_2 + 2;
}
cbb_108 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(bl_3["charCodeAt"], bl_3, [bl_2]);
cbb_109 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(bl_3["charCodeAt"], bl_3, [bl_2 + 1]);
cbb_110 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(bl_1["push"], bl_1, [cbb_108 << 16 | cbb_109]);
var bl_2 = bl_2 + 2;
}
}
cbb_111 = Object["call"]["bind"](Object["bind"], Object["call"])(Object["apply"])(ArrayBuffer["isView"], ArrayBuffer, [bl_3]);
var bl_2 = bl_3["byteLength"] % 4;
var bl_1 = new Int32Array(bl_3["buffer"]);
var bl_2 = 0;
var bl_0 = 0;
while (true) {
if (!(bl_0 < bl_1["length"])) {
// var bl_2 = lb_2;
return bl_2;
}
bl_2 = 0 | (bl_2 << 5) - bl_2 + bl_1[bl_0];
var bl_0 = Number(bl_0) + 1;
}
};
let data = new Uint8Array(90000);
for (let i = 0; i < data.length; i++) {
data[i] = 11
}
console.log(bl_33(data))
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment