npm 包 Cropper.js 使用教程

Cropper.js 是一个用于裁剪图像的 JavaScript 库,可轻松使用并集成到您的前端项目中。本文将为您提供 Cropper.js 的详细使用教程和示例代码。

安装

您可以通过 npm 在您的项目中安装 Cropper.js:

--- ------- --------- ------

或者也可以在 HTML 中使用 <script> 标签直接引入:

------- --------------------------------------------------------------------------

使用方法

首先,您需要在 HTML 中创建一个包含原始图像的容器,并在其中添加 id 属性来唯一标识该元素。例如:

---- ---------------------
  ---- ------------------------
------

然后,在您的 JavaScript 文件中,实例化 Cropper.js 并指定图像容器的 ID:

----- ----- - ------------------------------
----- ------- - --- -------------- -
  ------------ -- - --
  ----------- -
    ----------------------------
    ----------------------------
    --------------------------------
    ---------------------------------
    ---------------------------------
    ---------------------------------
    ---------------------------------
  --
---

这样就完成了 Cropper.js 的初始化。aspectRatio 参数指定裁剪框的宽高比,在这里我们将其设置为 16:9。crop() 方法会在用户完成裁剪操作后触发,您可以在其中获取裁剪框的位置和大小以及图像的旋转和缩放信息。

API

Cropper.js 还提供了许多其他有用的方法和选项。下面是一些常用的 API:

方法

cropper.getCroppedCanvas([options])

返回一个包含裁剪后图像的 <canvas> 元素。可选参数 options 可以用于指定输出图像的大小和格式等信息。

----- ------ - --------------------------
  ------ ----
  ------- ----
  ---------- -------
---

cropper.rotate(degree)

将图像顺时针旋转指定角度(单位为度数)。

-------------------

cropper.zoom(ratio)

将图像按比例缩放。

------------------

选项

aspectRatio

裁剪框的宽高比。

-
  ------------ -- - --
-

autoCropArea

自动计算裁剪框的大小。

-
  ------------- ---- -- -----------
-

dragMode

裁剪框的拖拽模式,默认为 'crop'

-
  --------- ------- -- ---------
-

示例代码

下面是一个完整的示例,演示了如何使用 Cropper.js 进行图像裁剪:

--------- -----
------
  ------
    ----- ----------------
    ----------------- ----------
    ----- ---------------- -------------------------------------------------------------------
  -------
  ------
    ---- ---------------------
      ---- ------------------------
    ------
    ------- ----------------------------
    ------- ----------------------------
    ------- --------------------------------------------------------------------------
    --------
      ----- ----- - ------------------------------
      ----- ------- - --- -------------- -
        ------------ -- - --
      ---
      ----- ---------- - ---------------------------------------
      ----- ------------ - -----------------------------------------

- ----------------------------------------------------------- --------
---------------------------------------------------------------------------------------