使用css将彩色图片转换为黑白图片

在下面我将讲解如何使用 CSS 的这个功能实现调整色调、模糊、亮度、对比度和一些其他的效果。

需要用到 filter 函数中:

grayscale函数

grayscale用于调整元素的灰度值。参数范围为0-1,0表示无效果,1表示灰度最大。

用法:filter: grayscale(1)

contrast函数

contrast 调整元素的对比度。默认值为1,表示与原图一致,取值小于1时,对比度降低,取值大于1时表示对比度增大。

用法:filter: contrast(1) ,中间的值根据情况调整。

brightness函数

brightness用于调整元素的亮度。范围为0-1,0表示全黑,1表示最亮。

用法:filter: brightness(0),显示为黑色。

其中:还会用到mix-blend-mode 混合混合模式来增加强光。

mix-blend-mode: hard-light;     // 强光

接下来咱们附上源码:

 HTML代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="css/style.css" />
    <title>将彩色照片转换为黑色肖像</title>
  </head>
  <body>
    <div class="box">
      <img src="./img/img2.png" />
    </div>
    <div class="box">
      <img src="./img/img2.png" />
    </div>
  </body>
</html>

css代码:

* {
  margin: 0;
  padding: 0;
}
body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}
.box {
  position: relative;
  width: 50%;
  height: 100vh;
  overflow: hidden;
}
.box img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.box:nth-child(2) img {
  filter: grayscale(1) contrast(5);
}
.box:nth-child(2) img:nth-child(2) {
  filter: grayscale(1) contrast(1) brightness(2);
  mix-blend-mode: hard-light;
}

结果就不供上了,自行运行即可!!

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值