base64 img encoded
이 있는데 here이 있습니다. 어떻게 그것의 높이와 너비를 얻을 수 있습니까?JS - base64 코드에서 이미지의 너비와 높이를 가져옵니다.
답변
var i = new Image();
i.onload = function(){
alert(i.width+", "+i.height);
};
i.src = imageData;
해당 이미지로 숨겨진 <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의 답변에 따라 DOM에 추가하지 않습니다 또 다른 바이올린 :.이 HERE
당신에게 너무 감사합니다 :
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 }) }
는 다음 동기 코딩 스타일의 데이터를 얻기 위해 기다리고 있습니다 사용할 수 있습니다 당신은 나에게 약간의 예를 보여 주겠습니까? – bombastic
바이올린으로 편집 됨 – Desu
지금은 분명히 남자입니다. D – bombastic
나는 .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/
동기 사용은이 같은 약속으로 포장의 경우 : 수,
var dimensions = await getImageDimensions(file)
그냥 굉장한, 크기를 확인하는 데 절반 시간이 걸립니다, 정말 고마워요! – bombastic
너무 비싸서 비동기 프로세스입니다. –
@CoenDamen 예. 동기식 프로세스가 필요합니다. –