diff --git a/web/apps/photos/src/services/face/f-index.ts b/web/apps/photos/src/services/face/f-index.ts index bb21dc7e1..0e0950261 100644 --- a/web/apps/photos/src/services/face/f-index.ts +++ b/web/apps/photos/src/services/face/f-index.ts @@ -25,7 +25,6 @@ import { fetchImageBitmap, getLocalFileImageBitmap, getThumbnailImageBitmap, - imageBitmapToBlob, normalizePixelBetween0And1, pixelRGBBilinear, warpAffineFloat32List, @@ -744,6 +743,12 @@ export const saveFaceCrop = async (imageBitmap: ImageBitmap, face: Face) => { return blob; }; +const imageBitmapToBlob = (imageBitmap: ImageBitmap) => { + const canvas = new OffscreenCanvas(imageBitmap.width, imageBitmap.height); + canvas.getContext("2d").drawImage(imageBitmap, 0, 0); + return canvas.convertToBlob({ type: "image/jpeg", quality: 0.8 }); +}; + const getFaceCrop = ( imageBitmap: ImageBitmap, faceDetection: FaceDetection, diff --git a/web/apps/photos/src/services/face/image.ts b/web/apps/photos/src/services/face/image.ts index 7eeb3b1c3..538e0b413 100644 --- a/web/apps/photos/src/services/face/image.ts +++ b/web/apps/photos/src/services/face/image.ts @@ -427,43 +427,3 @@ export function cropWithRotation( return offscreen.transferToImageBitmap(); } - -export function addPadding(image: ImageBitmap, padding: number) { - const scale = 1 + padding * 2; - const width = scale * image.width; - const height = scale * image.height; - const offscreen = new OffscreenCanvas(width, height); - const ctx = offscreen.getContext("2d"); - ctx.imageSmoothingEnabled = false; - ctx.drawImage( - image, - width / 2 - image.width / 2, - height / 2 - image.height / 2, - image.width, - image.height, - ); - - return offscreen.transferToImageBitmap(); -} - -export interface BlobOptions { - type?: string; - quality?: number; -} - -export async function imageBitmapToBlob(imageBitmap: ImageBitmap) { - const offscreen = new OffscreenCanvas( - imageBitmap.width, - imageBitmap.height, - ); - offscreen.getContext("2d").drawImage(imageBitmap, 0, 0); - - return offscreen.convertToBlob({ - type: "image/jpeg", - quality: 0.8, - }); -} - -export async function imageBitmapFromBlob(blob: Blob) { - return createImageBitmap(blob); -}