facebook如何对个人资料图片进行“移动”?
要了解我在说什么,请转到:http://www.facebook.com/editprofile.php?sk=picture - >编辑缩略图 - >请注意,您可以移动缩略图。
他们称之为“ProfilePicSquareEditor”(他们的源代码难以获得)
答案 0 :(得分:4)
这不完全是Facebook使用的,但它很好地解决了这个问题http://odyniec.net/projects/imgareaselect/
我目前正在几个项目中使用它。
答案 1 :(得分:0)
显然,有一堆javascript来控制裁剪窗口的拖动调整大小,如果你强制执行某个宽高比(或范围),这可能会有点复杂(或者至少是乏味的),但是就HTML而言,它只是一个黑色背景div,其中整个图像位于opacity: .5
上方(这创建了黑暗的背景图像),然后是position: absolute
div中相同图像的另一个副本(它位于第一个div之外),因此它与第一个图像正确对齐。响应调整大小句柄的拖动事件的处理程序不断更新绝对定位div的top
,left
,width
和height
属性('裁剪窗口' ),以及其中“前景”图像的top
和left
属性(进入负片),以使其与背景图像保持一致。
javascript还会跟踪每个角落的位置,因此当用户接受更改时,这些点可以转换为像素坐标(考虑任何缩放)并馈送到后端的任何图像处理库