1.0.2 • Published 2 years ago

ant-img-crop--ds v1.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

antd-img-crop

An image cropper for Ant Design Upload

npm npm npm bundle size GitHub npm type definitions

English | 简体中文

Demo

Edit antd-img-crop

Install

yarn add antd-img-crop

# npm install antd-img-crop

Usage

import ImgCrop from 'antd-img-crop';
import { Upload } from 'antd';

const Demo = () => (
  <ImgCrop>
    <Upload>+ Add image</Upload>
  </ImgCrop>
);

Props

PropTypeDefaultDescription
aspectnumber1 / 1Aspect of crop area , width / height
shapestring'rect'Shape of crop area, 'rect' or 'round'
gridbooleanfalseShow grid of crop area (third-lines)
qualitynumber0.4Image quality, 0 ~ 1
fillColorstring'white'Fill color when cropped image smaller than canvas
zoombooleantrueEnable zoom for image
rotatebooleanfalseEnable rotate for image
minZoomnumber1Minimum zoom factor
maxZoomnumber3Maximum zoom factor
modalTitlestring'Edit image'Title of modal
modalWidthnumber | string520Width of modal in pixels number or percentages
modalOkstring'OK'Text of modal confirm button
modalCancelstring'Cancel'Text of modal cancel button
modalMaskTransitionNamestring'fade'MaskTransitionName of modal, use 'none' to disable the default transition effect
modalTransitionNamestring'fade'TransitionName of modal, use 'none' to disable the default transition effect
onModalOkfunction-Call when click modal confirm button
onModalCancelfunction-Call when click modal mask, top right "x", or cancel button
beforeCropfunction-Call before modal open, if return false, it'll not open
onUploadFailfunction-Call when upload failed
cropperPropsobject-Props of react-easy-crop (* existing props cannot be overridden)

Styles

To prevent overwriting the custom styles to antd, antd-img-crop does not import the style files of components.

Therefore, if you configured babel-plugin-import and no Modal or Slider were used, please import the styles manually:

import 'antd/es/modal/style';
import 'antd/es/slider/style';

FAQ

ConfigProvider not work?

If using craco-antd, please try to add libraryDirectory: 'es' to craco.config.js:

module.exports = {
  plugins: [
    {
      plugin: CracoAntDesignPlugin,
      options: {
        // other options...
+       babelPluginImportOptions: {
+         libraryDirectory: 'es',
+       },
      },
    },
  ],
};

Or if configuring babel-plugin-import manually, please try to set libraryDirectory: 'es' to .babelrc.js:

module.exports = {
  plugins: [['import', { libraryName: 'antd', libraryDirectory: 'es', style: true }]],
};

License

MIT License (c) nanxiaobei

FUTAKE

Try FUTAKE in WeChat. A mini app for your inspiration moments. 🌈

FUTAKE