mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-23 22:01:20 -08:00
refactor: Update thumbnail scale in Artplayer
This commit is contained in:
1 parent
3a2e7addd9
commit
5764344aaf
12 files changed
+135
-88
No files matched your search
@@ -117,3 +117,44 @@ export function supportsFlex() {
|
||||
export function getRect(el) {
|
||||
return el.getBoundingClientRect();
|
||||
}
|
||||
|
||||
export function loadImg(imageUrl, scale) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const img = new Image();
|
||||
img.crossOrigin = 'Anonymous';
|
||||
|
||||
img.onload = function () {
|
||||
if (!scale || scale === 1) {
|
||||
resolve(img);
|
||||
} else {
|
||||
const canvas = document.createElement('canvas');
|
||||
const ctx = canvas.getContext('2d');
|
||||
canvas.width = img.width * scale;
|
||||
canvas.height = img.height * scale;
|
||||
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
|
||||
|
||||
canvas.toBlob((blob) => {
|
||||
const blobUrl = URL.createObjectURL(blob);
|
||||
const scaledImg = new Image();
|
||||
|
||||
scaledImg.onload = function () {
|
||||
resolve(scaledImg);
|
||||
};
|
||||
|
||||
scaledImg.onerror = function () {
|
||||
URL.revokeObjectURL(blobUrl);
|
||||
reject(new Error(`Image load failed: ${imageUrl}`));
|
||||
};
|
||||
|
||||
scaledImg.src = blobUrl;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
img.onerror = function () {
|
||||
reject(new Error(`Image load failed: ${imageUrl}`));
|
||||
};
|
||||
|
||||
img.src = imageUrl;
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user