/
githubmirror
/
pixijs
Обзор
Документация
Войти
/
githubmirror
/
pixijs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
src/assets/loader/workers/loadImageBitmap.worker.ts
43 строки
1 KB
Davide
fix: alphaMode always respected on texture load (#10803)
01 авг 2024, 16:56
Не верифицирован
01 авг 2024, 16:56
8410ced
Код
Авторство
О чём код?
interface MessageData { data: any[]; uuid: number; id: string; } async function loadImageBitmap(url: string, alphaMode?: string) { const response = await fetch(url); if (!response.ok) { throw new Error(`[WorkerManager.loadImageBitmap] Failed to fetch ${url}: ${response.status} ${response.statusText}`); } const imageBlob = await response.blob(); return alphaMode === 'premultiplied-alpha' ? createImageBitmap(imageBlob, { premultiplyAlpha: 'none' }) : createImageBitmap(imageBlob); } self.onmessage = async (event: MessageEvent<MessageData>) => { try { const imageBitmap = await loadImageBitmap(event.data.data[0], event.data.data[1]); self.postMessage({ data: imageBitmap, uuid: event.data.uuid, id: event.data.id, }, [imageBitmap]); } catch (e) { self.postMessage({ error: e, uuid: event.data.uuid, id: event.data.id, }); } };