Computer >> Máy Tính >  >> Lập trình >> Javascript

Có cách nào để thay đổi kích thước hình ảnh với việc lấy mẫu lại "người hàng xóm gần nhất" trong HTML5 không?


Có, hoàn toàn có thể. Sử dụng phần sau -

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

Ví dụ

Bạn cần tạo canvas ngoài màn hình, sau đó vẽ một hình ảnh. Sau đó, chỉ cần tìm nạp các 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);
   }
}