使用 jQuery 裁剪图片 [关闭]

Posted

技术标签:

【中文标题】使用 jQuery 裁剪图片 [关闭]【英文标题】:Cropping a picture with jQuery [closed] 【发布时间】:2012-06-15 17:53:43 【问题描述】:

能否请人向我解释或带我了解如何使用 javascript / jQuery 裁剪图片? 我不是在寻找插件,我想了解它是如何完成并使用它的。 我也不希望 div 使用背景位置进行操作。 我想裁剪实际的图片。但仅用于客户端目的。我不需要后端的挂钩来保存裁剪的图片。

【问题讨论】:

你的代码在哪里?你有没有尝试过任何东西? meta.stackexchange.com/a/128553/157574 我目前还不能尝试任何东西,因为我没有找到任何入口点。 不想使用插件并不妨碍您查看插件的源代码。那么this 将是一个很好的起点。 再次阅读您的问题时,有些东西没有意义。如果您没有在任何地方保存最终图像,那么使用背景位置进行div 操作有什么问题?它会带来什么可能的不同?事实上,您接受的答案是使用该方法。 是的,我以前见过,他们在 div 中使用图像标签并更改位置。我只是想知道是否可以将图像切片并使用切片,但我只是找不到功能。但似乎这是唯一的方法。还是谢谢 【参考方案1】:

jQuery 没有图片裁剪功能。

例如,您可以使用 html5 画布元素来实现这一点。这是tutorial:

<!DOCTYPE HTML>
<html>
  <head>
    <style>
      body 
        margin: 0px;
        padding: 0px;
      
      #myCanvas 
        border: 1px solid #9C9898;
      
    </style>
    <script>
      window.onload = function() 
        var canvas = document.getElementById("myCanvas");
        var context = canvas.getContext("2d");
        var imageObj = new Image();

        imageObj.onload = function() 
          // draw cropped image
          var sourceX = 150;
          var sourceY = 0;
          var sourceWidth = 150;
          var sourceHeight = 150;
          var destWidth = sourceWidth;
          var destHeight = sourceHeight;
          var destX = canvas.width / 2 - destWidth / 2;
          var destY = canvas.height / 2 - destHeight / 2;

          context.drawImage(imageObj, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight);
        ;
        imageObj.src = "http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg";
      ;

    </script>
  </head>
  <body>
    <canvas id="myCanvas"  ></canvas>
  </body>
</html>

【讨论】:

如果 jQuery,甚至 vanilla js 没有裁剪功能,他们如何在将图像分割成瓷砖以进行过渡的滑块中做到这一点? 那些没有裁剪图像,它们仅显示图像的一部分,方法是将其设置为背景图像并使用位置,或者将其放置在具有溢出的 div 中:隐藏和在该 div 内移动它。也可以使用 clip: css 样式。

以上是关于使用 jQuery 裁剪图片 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

jquery裁剪图片插件cropit示例

移动端图片裁剪上传—jQuery.cropper.js

cropper.js图片裁剪

图片上传和裁剪,bitmapcutter组件的使用

jQuery插件分享Cropper——一个简单方便的图片裁剪插件

图片裁剪上传插件——jquery.photoClip.js