将一个图像移动到另一个图像中
Move one image inside other image
背景
我允许用户上传蒙版图片中的图片....
用户上传图片后,我在 mask 图片中填充 user uploaded image :
1.Mask 图片 :
2.user 上传图片 :
3.用户在面具上上传的图像 [最终图像]:
密码本:https://codepen.io/kidsdial2/pen/OdyemQ
JSfiddle : http://jsfiddle.net/2xq8p0zy/
Html
<body>
<img src="http://139.59.24.243/images/invitations/birthday/a.jpg" alt="">
</body>
css
body {
background-color: #111;
color: #555;
font-size: 1.1em;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
img {
margin: 20px auto;
display: block;
width: 100%;
height: 500px;
-webkit-mask-image: url(http://139.59.24.243/images/invitations/birthday/ice.png);
mask-image: url(http://tympanus.net/codrops-playground/assets/images/cssref/properties/mask-image/mask-image.png);
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
}
要求:
我想提供一个选项 将用户上传的图像移动到蒙版图像中 如此 fiddle :
http://jsfiddle.net/aLcb4sb5/ or link
问题:
但目前 website 两个图像都在移动....
我对你的设计做了一些修改。它是对 html 和 css 的一个小改动。
新的 html 布局是这样的
<div class="image-holder">
<img src="https://www.gettyimages.com/gi-resources/images/CreativeLandingPage/HP_Sept_24_2018/CR3_GettyImages-159018836.jpg" alt="">
</div>
其中 image-holder
div 是 mask image
而其中的图像是 user uploaded image
我做了个demo看看here
请注意,要使 draggable 工作,您需要安装 jQuery.ui,我认为您已经在您的站点中使用它了。
我用上传的图片作为div的背景图,然后根据移动拖动移动背景位置。初始位置设置为“0px 0px”。
用纯 JS 编写,如果您选择使用处理拖动的 JS 库,可能可以缩短它。
<div id="draggable" draggable="true" style="background-position: 0px 0px;"></div>
请从 .photo_holder img
中删除以下 CSS 代码并写入 .photo_holde
。像这样:
.photo_holde {
-webkit-mask-image: url(http://139.59.24.243/images/invitations/birthday/ice.png);
mask-image: url(http://139.59.24.243/images/invitations/birthday/ice.png);
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
}
您需要图片可以拖动,这样
首先我们需要一个容器作为包装器来监听 dragover 事件
并监听图像本身的 dragstart 事件
因此我们能够计算拖动距离并将其应用为 css 翻译
请检查我从你那里分叉的以下笔并应用更改
我添加了监听 onwheel 事件并以相同的方式对图像应用放大和缩小
我建议你应用水平翻转和垂直翻转以及图像旋转
enter code here
https://codepen.io/anon/pen/yZVPrp
查看此 link,可能会对您有所帮助。你想要的是一个"Clipping Mask"。
https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing#Clipping_paths
编辑:这是一些魔法。不客气!
Codepen:
https://codepen.io/anon/pen/zeZMLz
背景
我允许用户上传蒙版图片中的图片....
用户上传图片后,我在 mask 图片中填充 user uploaded image :
1.Mask 图片 :
2.user 上传图片 :
3.用户在面具上上传的图像 [最终图像]:
密码本:https://codepen.io/kidsdial2/pen/OdyemQ
JSfiddle : http://jsfiddle.net/2xq8p0zy/
Html
<body>
<img src="http://139.59.24.243/images/invitations/birthday/a.jpg" alt="">
</body>
css
body {
background-color: #111;
color: #555;
font-size: 1.1em;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
img {
margin: 20px auto;
display: block;
width: 100%;
height: 500px;
-webkit-mask-image: url(http://139.59.24.243/images/invitations/birthday/ice.png);
mask-image: url(http://tympanus.net/codrops-playground/assets/images/cssref/properties/mask-image/mask-image.png);
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
}
要求:
我想提供一个选项 将用户上传的图像移动到蒙版图像中 如此 fiddle :
http://jsfiddle.net/aLcb4sb5/ or link
问题:
但目前 website 两个图像都在移动....
我对你的设计做了一些修改。它是对 html 和 css 的一个小改动。 新的 html 布局是这样的
<div class="image-holder">
<img src="https://www.gettyimages.com/gi-resources/images/CreativeLandingPage/HP_Sept_24_2018/CR3_GettyImages-159018836.jpg" alt="">
</div>
其中 image-holder
div 是 mask image
而其中的图像是 user uploaded image
我做了个demo看看here
请注意,要使 draggable 工作,您需要安装 jQuery.ui,我认为您已经在您的站点中使用它了。
我用上传的图片作为div的背景图,然后根据移动拖动移动背景位置。初始位置设置为“0px 0px”。 用纯 JS 编写,如果您选择使用处理拖动的 JS 库,可能可以缩短它。
<div id="draggable" draggable="true" style="background-position: 0px 0px;"></div>
请从 .photo_holder img
中删除以下 CSS 代码并写入 .photo_holde
。像这样:
.photo_holde {
-webkit-mask-image: url(http://139.59.24.243/images/invitations/birthday/ice.png);
mask-image: url(http://139.59.24.243/images/invitations/birthday/ice.png);
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
}
您需要图片可以拖动,这样 首先我们需要一个容器作为包装器来监听 dragover 事件 并监听图像本身的 dragstart 事件 因此我们能够计算拖动距离并将其应用为 css 翻译 请检查我从你那里分叉的以下笔并应用更改 我添加了监听 onwheel 事件并以相同的方式对图像应用放大和缩小
我建议你应用水平翻转和垂直翻转以及图像旋转
enter code here
https://codepen.io/anon/pen/yZVPrp
查看此 link,可能会对您有所帮助。你想要的是一个"Clipping Mask"。 https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing#Clipping_paths
编辑:这是一些魔法。不客气!
Codepen:
https://codepen.io/anon/pen/zeZMLz