You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用clip-path裁剪图片并调暗未裁剪区域的亮度

你之前直接对原图设置clip-path的问题在于,clip-path会完全隐藏路径外的区域,自然无法保留调低亮度的外层内容,两种常用实现方案如下:

方案1:双层图片+clip-path实现(支持任意形状高亮区域)

该方案可适配方形、圆形、自定义多边形等任意高亮形状,兼容性表现最好。

<div class="scanner-container">
  <!-- 底层:调低亮度的完整图片 -->
  <img src="替换为你的图片本地路径" alt="扫描原图" class="base-img">
  <!-- 上层:仅显示高亮区域的原图 -->
  <img src="替换为你的图片本地路径" alt="高亮区域" class="highlight-area">
</div>
.scanner-container {
  position: relative;
  width: 400px; /* 可按实际图片尺寸调整 */
  height: auto;
}
.scanner-container img {
  display: block;
  width: 100%;
  height: auto;
}
.base-img {
  filter: brightness(0.4); /* 调整数值控制非高亮区域亮度,数值越小越暗 */
}
.highlight-area {
  position: absolute;
  left: 0;
  top: 0;
  /* 示例为裁剪上下左右各留100px的200*200方形,参数顺序为上、右、下、左,可自行调整 */
  clip-path: inset(100px 100px 100px 100px);
}

如果需要添加扫描框边框,可在容器内新增一个绝对定位的div,尺寸位置和高亮区域保持一致,单独设置边框样式即可。

方案2:单图+遮罩层实现(仅方形高亮,代码更简洁)

如果高亮区域为固定方形,使用大阴影挖空方案无需叠图,代码更简单:

<div class="scanner-container">
  <img src="替换为你的图片本地路径" alt="扫描原图">
  <div class="scan-frame"></div>
</div>
.scanner-container {
  position: relative;
  width: 400px; /* 可按实际图片尺寸调整 */
  overflow: hidden; /* 裁剪超出容器的阴影部分 */
}
.scanner-container img {
  width: 100%;
  display: block;
}
.scan-frame {
  position: absolute;
  left: 100px; /* 调整扫描框水平位置 */
  top: 100px; /* 调整扫描框垂直位置 */
  width: 200px; /* 扫描框宽度 */
  height: 200px; /* 扫描框高度 */
  border: 2px solid #0f0; /* 扫描框绿色边框,和示例效果一致 */
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5); /* 超大阴影覆盖外围区域,实现调低亮度效果 */
}

内容的提问来源于stack exchange,提问作者Luck Chhipa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 23:48:04