你好,我需要在照片查看器中制作这种效果,我不知道该如何制作,请帮忙吗?
答案 0 :(得分:0)
如果我们假设有两层,顶层具有颜色,底层具有灰度,则可以实现所需的结果。这是一个使用单个HTML文件和两个图像文件的示例。图像文件是相同的,除了一个是彩色的,另一个是灰度的。我们使用CSS来设置元素的位置和z-index顺序,并使用jquery来处理鼠标事件以减小顶层的大小,从而产生剪切效果。我唯一能说的就是将鼠标指针更改为任意水平方向和垂直方向以产生幕布效果。
<html>
<head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<style>
.picture-container
{
position: absolute;
}
#picture-container-color
{
z-index:2;
background-image: url("flower-color.jpg");
background-repeat: no-repeat;
background-color: red;
width: 500px;
height: 500px;
}
#picture-container-grey
{
z-index:1;
background-image: url("flower-grey.jpg");
background-repeat: no-repeat;
background-color: yellow;
width: 500px;
height: 500px;
}
</style>
</head>
<body>
<div id="picture-container-color" class="picture-container"></div>
<div id="picture-container-grey" class="picture-container"></div>
<script>
var mousedown = false;
$(".picture-container").mousedown(function(event) {
mousedown = true;
});
$(".picture-container").mousemove(function(event) {
if (mousedown === true) {
$("#picture-container-color").width(event.pageX);
$("#picture-container-color").height(event.pageY);
}
});
$(".picture-container").mouseup(function(event) {
mousedown = false;
});
</script>
</body>
</html>