JavaScript의 Base64 코드에서 이미지 너비 및 높이 가져오기
여기서 찾을 수 있는 Base64 이미지를 인코딩했습니다.그것의 높이와 폭은 어떻게 알 수 있습니까?
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
})
}
그런 다음 wait를 사용하여 동기식 코딩 스타일로 데이터를 가져올 수 있습니다.
var dimensions = await getImageDimensions(file)
다음을 사용했습니다..naturalWidth
그리고..naturalHeight
최고의 결과를 얻었습니다.
const img = new Image();
img.src = 'https://via.placeholder.com/350x150';
img.onload = function() {
const imgWidth = img.naturalWidth;
const imgHeight = img.naturalHeight;
console.log('imgWidth: ', imgWidth);
console.log('imgHeight: ', imgHeight);
};
설명서:
이 기능은 최신 브라우저에서만 지원됩니다.IE의 자연폭과 자연높이
보다 현대적인 해결책은 대신에 사용하는 것입니다.onload
사건의decode()
약속을 반환하므로 동시에 사용할 수 있습니다.await
.
비동기식 사용:
let img = new Image();
img.src = "myImage.png";
img.decode().then(() => {
let width = img.width;
let height = img.height;
// Do something with dimensions
});
동기식 사용(비동기식 함수 내부):
let img = new Image();
img.src = "myImage.png";
await img.decode();
let width = img.width;
let height = img.height;
// Do something with dimensions
숨김 만들기<img>
해당 이미지를 사용한 다음 jQuery의 .width() 및 .height()를 사용합니다.
$("body").append("<img id='hiddenImage' src='" + imageData + "' />");
var width = $('#hiddenImage').width();
var height = $('#hiddenImage').height();
$('#hiddenImage').remove();
alert("width:" + width + " height:" + height);
여기서 테스트: JSFidle
이미지는 처음에 숨겨진 상태로 생성되지 않습니다.생성된 다음 너비와 높이를 얻은 다음 제거합니다.이로 인해 큰 이미지에서 가시성이 매우 짧을 수 있습니다.이 경우 이미지를 다른 용기에 싸서 해당 용기를 숨겨야 합니다. 이미지 자체가 아닙니다.
gp.의 대답처럼 DOM에 추가되지 않는 또 다른 피들: 여기.
const img = new Image();
img.src = dataUrl;
await img.decode();
const width, height = img.width, img.height;
언급URL : https://stackoverflow.com/questions/17774928/get-image-width-and-height-from-the-base64-code-in-javascript
'programing' 카테고리의 다른 글
Python 헤더와 함께 POST 전송 (0) | 2023.08.02 |
---|---|
Html에 ID 속성을 추가하는 방법.asp.net mvc에서 양식()을 시작하시겠습니까? (0) | 2023.08.02 |
잭슨이 스프링 내에서 알 수 없는 속성을 무시하도록 글로벌하게 설정하는 방법은 무엇입니까? (0) | 2023.08.02 |
최대 절전 모드에서 문자열을 DB 시퀀스에 매핑하는 방법 (0) | 2023.08.02 |
왕복 데이터로/데이터에서 빠른 번호 유형 (0) | 2023.08.02 |