📜  图像源反应原生 - Javascript(1)

📅  最后修改于: 2023-12-03 14:50:49.093000             🧑  作者: Mango

图像源反应原生 - JavaScript

简介

图像源反应原生是一个 JavaScript 库,用于在网页上展示动态和交互式的图像和动画。它提供了丰富的 API 来处理图像和动画,支持各种常见的图像格式,也可以使用 Canvas 元素直接绘制图像和动画。

安装

你可以通过 npm 来安装图像源反应原生:

npm install image-source-native --save

你也可以通过 CDN 的方式引入:

<script src="https://unpkg.com/image-source-native"></script>
基本用法
创建 ImageSource 对象
const image = new ImageSource('./my-image.png');
加载图像
image.load().then(() => {
  // 图像加载完成后的回调
}).catch(error => {
  // 图像加载失败后的回调
});
获取图像宽度和高度
console.log(image.width); // 图像宽度
console.log(image.height); // 图像高度
绘制到 Canvas 上
const canvas = document.getElementById('my-canvas');
const context = canvas.getContext('2d');
image.load().then(() => {
  context.drawImage(image.element, x, y, width, height);
});
创建动画
image.load().then(() => {
  const animation = new Animation(image);
  animation.play();
});
API 文档
ImageSource 类

ImageSource 类是图像的主要操作类,用于加载和处理图像。

构造函数

new ImageSource(src: string)
  • src: string 图像的 URL。

属性

  • element: HTMLImageElement 指向 HTMLImageElement 对象的引用,可以作为绘制 Canvas 或使用 ImageData 的数据源。
  • width: number 图像的原始宽度。
  • height: number 图像的原始高度。

方法

load(): Promise<void>

加载图像。

resize(width: number, height: number): void

改变图像的尺寸。

参数:

  • width: number 新的图像宽度。
  • height: number 新的图像高度。
crop(x: number, y: number, width: number, height: number): void

截取图像的一部分。

参数:

  • x: number 起始横坐标。
  • y: number 起始纵坐标。
  • width: number 截取宽度。
  • height: number 截取高度。
toDataURL(): string

将图像转换为 Data URL。

Animation 类

Animation 类是动画的主要操作类,用于创建和播放动画。

构造函数

new Animation(image: ImageSource)
  • image: ImageSource 需要播放的图像。

属性

  • image: ImageSource 指向 ImageSource 对象的引用。
  • frameRate: number 动画的帧率,默认为 30 FPS。
  • loop: boolean 动画是否循环播放,默认为 true。

方法

play(): void

播放动画。

stop(): void

停止动画。

gotoAndPlay(frame: number): void

跳转到某一帧并开始播放。

参数:

  • frame: number 需要跳转到的帧索引。
gotoAndStop(frame: number): void

跳转到某一帧并停止播放。

参数:

  • frame: number 需要跳转到的帧索引。
nextFrame(): void

播放下一帧。

prevFrame(): void

播放上一帧。

dispose(): void

销毁动画。