Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Có cách resize ảnh với lấy mẫu “nearest neighbour” trong HTML5?


Có, có thể. Dùng sau −

image-rendering: -webkit-optimize-contrast; /* webkit */ image-rendering: -moz-crisp-edges /* Firefox */

Ví dụ

Bạn cần tạo canvas offscreen, vẽ ảnh, sau đó lấy pixel.

var a = document.createElement('canvas').getContext('2d'); a.drawImage(myImg,0,0); var image = a.getImageData(0,0,img1.width,myImg.height).data; for (var x=0;x<img1.width;++x){    for (var y = 0; y < img1.height; ++y){       var i = (y*myImg.width + x)*4;       var r = imageimageimageimage[i ];       var g = imageimageimage[i+1];       var b = imageimage[i+2];       var a = image[i+3];       ctx2.fillStyle = "rgba("+r+","+g+","+b+","+(a/255)+")";       ctx2.fillRect(x*zoom,y*zoom,zoom,zoom);    } }