Spaces:
Running
Running
File size: 813 Bytes
947c08e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import { Image as RNImage } from 'react-native';
export const blobToBase64 = (blob: Blob): Promise<string> => {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onloadend = () => resolve(reader.result as string);
reader.onerror = reject;
reader.readAsDataURL(blob);
});
};
export const base64ToBlob = (base64: string, mimetype: string = 'image/png'): Blob => {
const byteCharacters = Buffer.from(base64, 'base64');
return new Blob([byteCharacters], { type: mimetype });
};
export const getImageLayout = (uri: string): Promise<{ width: number; height: number }> => {
return new Promise((resolve, reject) => {
RNImage.getSize(
uri,
(width, height) => resolve({ width, height }),
(error) => reject(error)
);
});
}; |