diff options
author | Ollie H <renahlee@outlook.com> | 2023-05-30 17:23:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-30 19:23:55 -0500 |
commit | 072682dd9f8843787229a98fbeea24161bc0c9b4 (patch) | |
tree | 931c55dd298e36e363bb0366f41d671043f091ba /src/lib/media/manip.ts | |
parent | deebe18aaa883d7fcedabd594dda057f991c3026 (diff) | |
download | voidsky-072682dd9f8843787229a98fbeea24161bc0c9b4.tar.zst |
Rework scaled dimensions and compression (#737)
* Rework scaled dimensions and compression * Unbreak image / banner uploads --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Diffstat (limited to 'src/lib/media/manip.ts')
-rw-r--r-- | src/lib/media/manip.ts | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/lib/media/manip.ts b/src/lib/media/manip.ts index 4491010e8..c35953703 100644 --- a/src/lib/media/manip.ts +++ b/src/lib/media/manip.ts @@ -6,52 +6,8 @@ import * as RNFS from 'react-native-fs' import uuid from 'react-native-uuid' import * as Sharing from 'expo-sharing' import {Dimensions} from './types' -import {POST_IMG_MAX} from 'lib/constants' import {isAndroid, isIOS} from 'platform/detection' -export async function compressAndResizeImageForPost( - image: Image, -): Promise<Image> { - const uri = `file://${image.path}` - let resized: Omit<Image, 'mime'> - - for (let i = 0; i < 9; i++) { - const quality = 100 - i * 10 - - try { - resized = await ImageResizer.createResizedImage( - uri, - POST_IMG_MAX.width, - POST_IMG_MAX.height, - 'JPEG', - quality, - undefined, - undefined, - undefined, - {mode: 'cover'}, - ) - } catch (err) { - throw new Error(`Failed to resize: ${err}`) - } - - if (resized.size < POST_IMG_MAX.size) { - const path = await moveToPermanentPath(resized.path) - - return { - path, - mime: 'image/jpeg', - size: resized.size, - height: resized.height, - width: resized.width, - } - } - } - - throw new Error( - `This image is too big! We couldn't compress it down to ${POST_IMG_MAX.size} bytes`, - ) -} - export async function compressIfNeeded( img: Image, maxSize: number = 1000000, |