fastlion-picture-viewer
Version:
图片查看器
130 lines (109 loc) • 2.73 kB
Markdown
# react-picture-viewer
An picture viewer for React with no dependencies.

English | [简体中文](https://github.com/CRONWMMM/react-picture-viewer/blob/master/README.zh-cn.md)
## Features
- You can freely drag picture within the viewport
- You can freely zoom picture within the viewport
- Min/max zoom size
- No dependencies
## Installation
```
npm install react-picture-viewer --save
```
or
```
yarn add react-picture-viewer
```
## Demo
You can run the project locally to see the demo.
```
yarn start
```
or
```
npm run start
```
## Usage
Include the main js module:
```js
import ReactPictureViewer from 'react-picture-viewer'
```
## Example
```js
class PicViewer extends React.Component {
// ...
render() {
return (
<div>
<PictureViewer>
<img src="..." alt="picture" draggable="false" />
</PictureViewer>
</div>
)
}
// ...
}
```
## Props
### children (required)
```js
<PictureViewer>
<img src="..." alt="picture" draggable="false" />
</PictureViewer>
```
You should always pass an `<Img />` element as its children.
### id (optional)
```js
<div>
<PictureViewer id="picture-viewer1">...</PictureViewer>
<PictureViewer id="picture-viewer2">...</PictureViewer>
</div>
```
Unique identifier for components, useful when rendering multiple components on a page
### className (optional)
```js
<PictureViewer className="picture-viewer">...</PictureViewer>
```
ClassName
### center (optional)
```js
<PictureViewer center>...</PictureViewer>
```
If true then the pictures will be displayed in the middle of the viewport, default to true.
### contain (optional)
```js
<PictureViewer contain>...</PictureViewer>
```
If true then the initial size of the picture will be limited to the viewport, else the image will be displayed in the original size, default to true.
### width (optional)
```js
<PictureViewer width={500}>...</PictureViewer>
```
```js
<PictureViewer width="50vw">...</PictureViewer>
```
Width of viewport, it can be `string` or `number`.
### height (optional)
```js
<PictureViewer height={400}>...</PictureViewer>
```
```js
<PictureViewer width="40%">...</PictureViewer>
```
Height of viewport, it can be `string` or `number`.
### minimum (optional)
```js
<PictureViewer minimum={1}>...</PictureViewer>
```
Minimum scaling ratio, default to `0.8`
### maximum (optional)
```js
<PictureViewer maximum={5}>...</PictureViewer>
```
Maximum scaling ratio, default to `8`
### rate (optional)
```js
<PictureViewer rate={20}>...</PictureViewer>
```
The rate of Image Scaling, default to 10. Bigger the number you set, faster the image will zoom in.