react-avatar

👤 Load, crop & preview avatar with React

Github星跟蹤圖

react-avatar

👤 Load, crop and preview avatar with ReactJS component

npm version

Demo

Demo website

Install

npm i react-avatar-edit

Usage

import React from 'react'
import ReactDOM from 'react-dom'
import Avatar from 'react-avatar-edit'

class App extends React.Component {

  constructor(props) {
    super(props)
    const src = './example/einshtein.jpg'
    this.state = {
      preview: null,
      src
    }
    this.onCrop = this.onCrop.bind(this)
    this.onClose = this.onClose.bind(this)
    this.onBeforeFileLoad = this.onBeforeFileLoad.bind(this)
  }
  
  onClose() {
    this.setState({preview: null})
  }
  
  onCrop(preview) {
    this.setState({preview})
  }

  onBeforeFileLoad(elem) {
    if(elem.target.files[0].size > 71680){
      alert("File is too big!");
      elem.target.value = "";
    };
  }
  
  render () {
    return (
      <div>
        <Avatar
          width={390}
          height={295}
          onCrop={this.onCrop}
          onClose={this.onClose}
          onBeforeFileLoad={this.onBeforeFileLoad}
          src={this.state.src}
        />
        <img src={this.state.preview} alt="Preview" />
      </div>
    )
  }
}

ReactDOM.render(<App /> , document.getElementById('root'))

Component properties, Prop, Type, Description, ----------------------, ----------------, ---------------, img, Image, The Image object to display, src, String/Base64, The url to base64 string to load (use urls from your domain to prevent security errors), width, Number, The width of the editor, height, Number, The height of the editor (image will fit to this height if neither imageHeight, nor imageWidth is set), imageWidth, Number, The desired width of the image, can not be used together with imageHeight, imageHeight, Number, The desired height of the image, can not be used together with imageWidth, cropRadius, Number, The crop area radius in px (default: calculated as min image with/height / 3), cropColor, String, The crop border color (default: white), lineWidth, Number, The crop border width (default: 4), minCropRadius, Number, The min crop area radius in px (default: 30), backgroundColor, Sting, The color of the image background (default: white), closeIconColor, String, The close button color (default: white), shadingColor, String, The shading color (default: grey), shadingOpacity, Number, The shading area opacity (default: 0.6), mimeTypes, String, The mime types used to filter loaded files (default: image/jpeg,image/png), label, String, Label text (default: Choose a file), labelStyle, Object, The style object for preview label (use camel case for css properties fore example: fontSize), borderStyle, Object, The style for object border preview (use camel case for css properties fore example: fontSize), onImageLoad(image), Function, Invoked when image based on src prop finish loading, onCrop(image), Function, Invoked when user drag&drop event stop and return croped image in base64 sting, onBeforeFileLoad(file), Function, Invoked when user before upload file with internal file loader (etc. check file size), onFileLoad(file), Function, Invoked when user upload file with internal file loader, onClose(), Function, Invoked when user clicks on close editor button

Contributing

  • To start developer server please use npm run start
  • To build production bundle use npm run build

主要指標

概覽
名稱與所有者kirill3333/react-avatar
主編程語言JavaScript
編程語言JavaScript (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2017-08-04 16:35:22
推送於2024-04-02 15:03:33
最后一次提交2022-12-26 19:52:32
發布數7
最新版本名稱1.2.0 (發布於 )
第一版名稱0.5.9 (發布於 )
用户参与
星數566
關注者數8
派生數102
提交數154
已啟用問題?
問題數57
打開的問題數16
拉請求數22
打開的拉請求數5
關閉的拉請求數31
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?