Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

HTML5에서 "가장 가까운 이웃" 리샘플링으로 이미지 크기를 조정하는 방법이 있습니까?


예, 가능합니다. 다음을 사용하십시오 -

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

예시

오프스크린 캔버스를 만든 다음 이미지를 그려야 합니다. 그런 다음 픽셀을 가져오기만 하면 됩니다.

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);
   }
}