使用 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 裁剪图片 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章