1.0.25 • Published 6 months ago

images-viewer-vue3 v1.0.25

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

npm version NPM Download npm type definitions

images-viewer-vue3

A lightweight image viewer for Vue3, it is based on flip animation technology, Support PC and h5 mobile web page preview photos, if it is a product developed by vue3.

images-viewer-vue3 demo(https://github.com/qiunanya/vue3-major-editor/tree/main/packages/image-viewer)

Case screenshot: https://blog.csdn.net/qq_41444226/article/details/144258656

Features

  • Component preview image
  • Command preview image
  • API preview image

Function

  • Rotate image
  • Zoom image
  • Flip image
  • Drag image
  • Download image
  • AutoPlay image
  • Full screen preview image
  • Image information

Install

npm install images-viewer-vue3
--or
pnpm add images-viewer-vue3
--or
yarn add images-viewer-vue3

Config

// main.ts
import { createApp } from "vue";
import App from "./App.vue";
import ImagesViewerVue3 from 'images-viewer-vue3';

const app = createApp(App)
// Image preview directive will be automatically injected here.
// Includes preview directive and lazy loading directive
app.use(ImagesViewerVue3, {
    zIndex: 999, // Default 999
    language: 'zh', // Default language 'zh'
    scaleRatio: 1, // Default 1
    rotateRatio: 90, // Default 90 degrees
    isEnableDrag: true, // Enabled by default
    isEnableWheel: true, // Enabled by default
    playSpeed: 2000, // playSpeed Default 2000 ms
    isDownLoad: true, // Enabled by default
})
app.mount("#app")

Usage

Component preview image

The component wraps the image element, click directly to preview.

<ImagesViewerVue3>
    <img src="https://picsum.photos/id/6/5000/3333"/>
    <img src="https://picsum.photos/id/10/2500/1667"/>
    <img src="https://picsum.photos/id/11/2500/1667"/>
</ImagesViewerVue3>

Options

Initialize the configuration in app.use(ImagesViewerVue3,options) of the main.ts file.

OptionAllowed ValueDefaultDescription
scaleRationumber in percentage1It defines the initial zoom value of the image.
zIndexnumber in percentage999Initial value of the previewer stacking order property.
rotateRationumber in percentage90It defines the initial value of the image rotation angle.
isEnableDragbooleantrueDefines whether to enable the drag and drop function.
isEnableWheelbooleantrueDefines whether to enable mouse scrolling to zoom the image.
language'zh' or 'en''zh'Define the prompt text display language.
playSpeednumber2000play speed, Default 2000 ms.
isDownLoadbooleantrueDownload enabled by default

Command preview image

Add v-image-viewer to the image tag that needs to be previewed. All imgs with added instructions will be automatically added to the preview list.

<img v-image-viewer src="https://picsum.photos/id/19/2500/1667"/>
<img v-image-viewer src="https://picsum.photos/id/63/2500/1667"/>

Support lazy loading instructions

<img v-for="(item, index) in dataList" :key="index" :src="item" v-image-viewer/>
<img src="https://picsum.photos/id/10/2500/1667" v-image-viewer/>
<img v-image-viewer v-lazy-image="'https://picsum.photos/id/11/2500/1667'"/>
<img v-image-viewer v-lazy-image="currentSrc"/>

<script setup lang="ts">
import { ref } from 'vue'
const currentSrc = ref('https://picsum.photos/id/13/367/267')
</script>

API preview image

<img @click="previewImage" src="https://picsum.photos/id/19/2500/1667"/>

<script setup lang="ts">
import { imageViewerApi, onUpdate } from 'images-viewer-vue3'

// Monitor current picture information
onUpdate((image:string, index: number) => {
    console.log(image, index)
})

const previewImage = (evt) => {
    if (!evt.target) return
    const iDom = evt.target as HTMLImageElement
    imageViewerApi({
        // Custom Navigation Image Highlighting Index
        specifyIndex: 0,
        // Current image src
        current: iDom.src,
        // Enable flip animation
        imageDom: iDom,
        // Preview more pictures
        // images: ['src','src1', 'src2', ...],
    })
}
</script>

Keyboard-shortcuts-windows

The images-viewer-vue3 has built-in commonly used shortcut keys.

Shortcut KeyFunction Description
Right(→)Next
Left(←)Previous
Ctrl+I+YFlip Vertically
Ctrl+I+XFlip Horizontal
Ctrl+C+RRotate 90 degrees clockwise
Ctrl+C+LRotate 90 degrees counterclockwise
Ctrl+ZRestore initial value
Ctrl+'+'Zoom
Ctrl+'-'Zoom out
SpaceAutoPlay and StopPlay
ESCClose Preview
1.0.19

8 months ago

1.0.18

8 months ago

1.0.17

8 months ago

1.0.16

8 months ago

1.0.21

7 months ago

1.0.20

7 months ago

1.0.15

8 months ago

1.0.25

6 months ago

1.0.13

8 months ago

1.0.23

7 months ago

1.0.12

8 months ago

1.0.9

9 months ago

1.0.8

9 months ago

1.0.11

9 months ago

1.0.10

9 months ago

1.0.7

9 months ago

1.0.6

9 months ago

1.0.5

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago