Giter VIP home page Giter VIP logo

react-responsive-pinch-zoom-pan's Introduction

react-responsive-pinch-zoom-pan

A React component that adds pinch-zoom and pan capability to an img element. Both mobile and desktop browsers are supported. In desktop mode, you zoom with the mouse scrollwheel, and pan by dragging.

On render, the zoom and pan values are applied using CSS transforms.

Install

npm install react-responsive-pinch-zoom-pan --save

Try it out

Online

Demo

Local

  1. git clone https://github.com/bradstiff/react-responsive-pinch-zoom-pan.git
  2. cd react-responsive-pinch-zoom-pan
  3. npm install
  4. npm start
  5. Browse to http://localhost:3001

Usage

import React from "react";
import PinchZoomPan from "react-responsive-pinch-zoom-pan";

const App = () => {
    return (
        <div style={{ width: '500px', height: '500px' }}>
            <PinchZoomPan>
                <img alt='Test Image' src='http://picsum.photos/750/750' />
            </PinchZoomPan>
        </div>
    );
};

API

Prop Type Default Description
initialScale number 'auto' The initial scale of the image. When auto, the image will be proportionally 'autofit' to the container.
minScale number 'auto' The minimum scale to which the image can be zoomed out. When auto, the minimum scale is the 'autofit' scale.
maxScale number 1 The maximum scale to which the image can be zoomed in.
position 'center' or 'topLeft' 'topLeft' Position of the image relative to the container. Applies when the scaled image is smaller than the container.
zoomButtons bool true Render plus (+) and minus (-) buttons on top of the image as another way to access the zoom feature.
doubleTapBehavior 'reset' or 'zoom' 'reset' Whether to zoom in or reset to initial scale on double-click / double-tap.

Development

You're welcome to contribute to react-responsive-pinch-zoom-pan.

To set up the project:

  1. Fork and clone the repository
  2. npm install
  3. npm start

The example page will be available on http://localhost:3001 in watch mode, meaning you don't have to refresh the page to see your changes.

react-responsive-pinch-zoom-pan's People

Contributors

bradstiff avatar khromove avatar enekesabel avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.