gre / gre/react-native-view-shot

Image Quality is too low while i am taking view shot of my screen

Open
#505 4 comments 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.