假设我有一张图片
它的大小是
高度:150
像素宽度:100 像素。
我想得到它的一部分,假设是全高,但宽度介于30-80px
. 所以它会是
高度:150
像素宽度:100 像素。
我不想扩大规模。我想从中切下一部分。(感谢编辑,这称为裁剪)。
怎么做?
jQuery 不能像那样修改图像元素。您最好的选择是将其放置在overflow:hidden
必须给人以被剪切的印象的父元素中。或者您可以使用clip
CSS 规则。如果你真的想制作一个新图像,你可以使用 jQuery 来收集图像上的坐标并将它们修补回服务器端脚本,以实际执行繁重的工作并异步提供新图像。
图像编辑超出了 JavaScript 的范围。您只能显示图像的某个部分,但实际上不能更改图像文件:
<div id="imgwrapper"><img src="blah.jpg" width="100" height="150"></div>
#imgwrapper {
width: 100px;
height: 50px;
overflow: hidden;
position: relative;
}
#imgwrapper img {
position: absolute;
top: -30px;
left: 0;
}
请注意,使用此解决方案,内部图像是absolute
ly 定位的,而外部 div 是relative
ly 定位的,这可能比绝对定位和clip
ped 图像更适合您的页面布局。
我认为您最好的选择是尝试使用 html 画布。
两者都允许渲染源图像的一部分,getImageData() 函数还允许读回图像数据并对其进行操作(对于整个图像或部分图像)。