Development Tip

JS-base64 코드에서 이미지 너비와 높이 가져 오기

yourdevel 2020. 10. 9. 12:25
반응형

JS-base64 코드에서 이미지 너비와 높이 가져 오기


나는이 base64 img encoded당신이 찾을 수 여기를 . 높이와 너비를 어떻게 알 수 있습니까?


var i = new Image(); 

i.onload = function(){
 alert( i.width+", "+i.height );
};

i.src = imageData; 

동기식으로 사용하려면 다음과 같이 약속으로 감싸십시오.

function getImageDimensions(file) {
  return new Promise (function (resolved, rejected) {
    var i = new Image()
    i.onload = function(){
      resolved({w: i.width, h: i.height})
    };
    i.src = file
  })
}

그런 다음 await를 사용하여 동기식 코딩 스타일로 데이터를 가져올 수 있습니다.

var dimensions = await getImageDimensions(file)

.naturalWidth 및 .naturalHeight를 사용하면 최상의 결과를 얻을 수 있다는 것을 알았습니다.

var img = new Image();

img.onload = function() {
    var imgWidth = img.naturalWidth,
        imgHeight = img.naturalHeight;
};

이것은 최신 브라우저에서만 지원됩니다. http://www.jacklmoore.com/notes/naturalwidth-and-naturalheight-in-ie/


<img>해당 이미지 로 숨겨진 항목 을 만든 다음 jquery .width () 및. 신장()

$("body").append("<img id='hiddenImage' src='"+imageData+"' />");
var width = $('#hiddenImage').width();
var height = $('#hiddenImage').height();
$('#hiddenImage').remove();
alert("width:"+width+" height:"+height);

여기서 테스트 : FIDDLE

처음에는 이미지가 숨겨져 있지 않습니다. 생성되고 너비와 높이를 얻은 다음 제거합니다. 이로 인해 큰 이미지에서 매우 짧은 가시성이 발생할 수 있습니다.이 경우 이미지를 다른 컨테이너에 래핑하고 해당 컨테이너를 이미지 자체가 아닌 숨겨야합니다.


gp.의 anser에 따라 dom에 추가되지 않는 또 다른 Fiddle : HERE

참고 URL : https://stackoverflow.com/questions/17774928/js-get-image-width-and-height-from-the-base64-code

반응형