js图片base64 图片宽高
时间: 2023-11-23 09:58:08 浏览: 158
根据提供的引用内容,我们可以得知如下方法来获取图片的宽高:
```javascript
// 获取图片宽高
function getImageSize(base64Str) {
return new Promise((resolve, reject) => {
const img = new Image();
img.onload = function () {
resolve({
width: img.width,
height: img.height
});
};
img.onerror = reject;
img.src = base64Str;
});
}
```
使用方法:
```javascript
const base64Str = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...';
getImageSize(base64Str).then(size => {
console.log(size.width, size.height);
});
```
相关问题
获取base64图片的宽高
要获取base64图片的宽高,可以通过以下方法实现。首先,将base64图片转换为Blob对象。然后,创建一个Image对象并将Blob对象作为src属性值赋给它。在Image对象的load事件中,可以获取到图片的宽高信息。
```javascript
function getBase64ImageSize(base64) {
return new Promise((resolve, reject) => {
const img = new Image();
img.src = base64;
img.onload = function() {
resolve({ width: img.width, height: img.height });
};
img.onerror = function() {
reject(new Error('Failed to load image'));
};
});
}
```
通过base64判断图片宽高
### 如何通过 Base64 编码的字符串确定图片的实际宽度和高度
为了从 Base64 字符串中获取图像的高度和宽度,在编程过程中通常需要先解码此 Base64 字符串回原始二进制数据,再利用特定库解析这些二进制流从而读取尺寸信息。
对于 Python 而言,可以借助 `Pillow` 库完成这项工作:
```python
from PIL import Image
import io
import base64
def get_image_dimensions_from_base64(base64_string):
# 去除可能存在的 "data:image/png;base64," 或类似的前缀
if ',' in base64_string:
base64_string = base64_string.split(',')[1]
try:
img_data = base64.b64decode(base64_string)
image = Image.open(io.BytesIO(img_data))
return {
'width': image.width,
'height': image.height
}
except Exception as e:
print(f"Error processing image: {e}")
return None
```
这段代码首先尝试去除掉任何存在于 Base64 字符串开头的数据 URI 方案部分(如果存在),接着将剩余的有效负载转换成字节形式并创建一个新的文件对象用于初始化 Pillow 的 `Image` 类实例。最后返回包含宽高属性的对象[^1]。
在 JavaScript 中,则可以通过创建一个临时的 `<img>` 元素并将 src 设置为目标 Base64 URL 来实现相同的功能:
```javascript
function getImageDimensionsFromBase64(base64String) {
return new Promise((resolve, reject) => {
const img = document.createElement('img');
img.onload = () => resolve({ width: img.naturalWidth, height: img.naturalHeight });
img.onerror = (err) => reject(err);
img.src = base64String;
});
}
```
这里定义了一个异步函数,它接受 Base64 图像作为输入参数,并返回一个承诺(Promise),当图像加载完成后会携带其自然大小的信息解决该承诺;若发生错误则拒绝之[^2]。
阅读全文
相关推荐













