gre / gre/react-native-view-shot
Image Quality is too low while i am taking view shot of my screen
- Dominant language
- TypeScript
- Stars
- 2.9k
- Forks
- 375
- Avg merge
- 6d 23h
- Merged PRs (30d)
- 15
Description
const onFinalSave = async () => {
const targetPath =
Platform.OS === 'ios'
? `${RNFS.DocumentDirectoryPath}/${imageName}`
: `${RNFS.DownloadDirectoryPath}/${imageName}`;
const uri = await viewShotRef.current.capture();
const imageBuffer = await RNFS.readFile(uri, 'base64');
const imagePath = `${RNFS.DocumentDirectoryPath}/Pictures/${v4()}.jpg`;
await RNFS.writeFile(imagePath, imageBuffer, 'base64');
RNFS.exists(imagePath).then(async status => {
if (status) {
if (Platform.OS === 'ios') {
RNFetchBlob.config({
fileCache: true,
appendExt: 'jpg',
})
.fetch('GET', `file://${imagePath}`)
.then(res => {
console.log({res});
CameraRoll.save(res.data, {type: 'photo'})
.then(() => {
setTimeout(() => {
navigation.navigate('Result', {
img_data: {
path: `file://${imagePath}`,
...imgActualDimension,
},
});
}, 500);
analyticsFunction('image_saved_to_download', {isSaved: true});
})
.catch(err => {
Alert.alert(
'Save Image',
'Failed to save Image: ' + err.message,
[{text: 'OK', onPress: () => console.log('OK Pressed')}],
{cancelable: false},
);
});
})
.catch(error => {
Alert.alert(
I18n.t('Save_Image'),
I18n.t('Failed_to_save_Image') + error.message,
[
{
text: I18n.t('ok'),
onPress: () => console.log('OK Pressed'),
},
],
{cancelable: false},
);
});
} else {
await RNFS.copyFile(`file://${imagePath}`, targetPath)
.then(() => {
RNFS.scanFile(targetPath)
.then(() => {
setTimeout(() => {
navigation.navigate('Result', {
img_data: {
path: `file://${imagePath}`,
...imgActualDimension,
},
});
}, 500);
analyticsFunction('image_saved_to_download', {isSaved: true});
})
.catch(scanError => {
console.log('Error scanning file:', scanError);
});
})
.catch(err => {
Alert.alert(
'Save Image',
'Failed to save Image: ' + err.message,
[{text: 'OK', onPress: () => console.log('OK Pressed')}],
{cancelable: false},
);
});
}
} else {
console.log('File not exists');
}
});
};
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.