Я создал библиотеку react-native-image-tools-wm , когда мне пришлось обработать изображение на клиенте и не смог найти ничего, что стоило бы использовать.Попробуйте.
Пример:
const image = Image.resolveAssetSource(require('./my-image.jpg)).uri;
const maskImage = Image.resolveAssetSource(require('./mask-image.png)).uri;
RNImageTools.mask(image, maskImage).then(({ uri, width, height }) => {
// Sync with your app state
});
Обратите внимание, что ваше изображение маски должно быть черным на белом на iOS и черным на прозрачном на Android.Черная часть будет заменена вашим изображением, а белая / прозрачная станет прозрачной.Вы можете использовать суффиксы .android и .ios в именах, и RN загрузит их условно.
Вы также можете создать маску, используя метод createMaskFromShape
, но вам придется самостоятельно создавать точки формы.