오버프린트

Overprint

위 잉크를 아래 색 위에 그대로 겹쳐 찍는 설정 — 판이 살짝 어긋나도 흰 틈이 생기지 않습니다.

다른 이름: 중복 인쇄Print over
···
html
<div class="stage" id="stage">
  <div class="paper"></div>
  <div class="cyan"></div>
  <div class="hole" id="hole"></div>
  <div class="ink" id="ink"></div>
  <div class="tag" id="tag"></div>
</div>
css
.stage{position:relative;width:min(220px,58%);aspect-ratio:1;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.paper{position:absolute;inset:0;background:#f4f3ee}
.cyan{position:absolute;inset:8%;border-radius:50%;background:#00b6d8}
.hole{position:absolute;width:32%;height:32%;left:34%;top:34%;border-radius:50%;background:#f4f3ee}
.ink{position:absolute;width:32%;height:32%;top:34%;border-radius:50%;background:#101014;animation:shift 3s ease-in-out infinite}
@keyframes shift{0%,100%{left:34%}50%{left:46%}}
.stage.overprint .hole{display:none}
.stage.overprint .ink{mix-blend-mode:multiply}
.tag{position:absolute;left:0;right:0;bottom:0;padding:7px 4px;text-align:center;font:700 10px/1.3 system-ui,sans-serif;color:#fff;background:rgba(0,0,0,.6)}
js
const stage = document.getElementById('stage');
const tag = document.getElementById('tag');
let over = false;
function apply(){
  stage.classList.toggle('overprint', over);
  tag.textContent = over ? '오버프린트 — 흰 틈 없음' : '녹아웃 — 판이 밀리면 흰 틈';
}
apply();
setInterval(() => { over = !over; apply(); }, 2400);

기본값은 오버프린트가 아니라 녹아웃(knockout)입니다 — 위에 올라갈 색이 있으면 그 모양만큼 아래 색들을 미리 "파낸" 다음 그 자리에 인쇄합니다. 문제는 인쇄 시 각 색판이 완벽히 정렬되지 않으면(미등록, misregistration) 파낸 자리와 실제 인쇄 위치가 살짝 어긋나 흰 종이 틈이 드러난다는 점입니다.

오버프린트를 켜면 아래 색을 파내지 않고, 위 잉크를 그 위에 그대로 얹어 찍습니다. 두 잉크가 겹친 부분은 살짝 섞인 색이 되지만, 등록이 조금 어긋나도 흰 틈은 절대 생기지 않습니다. 검정 텍스트를 다른 색 배경 위에 얹을 때 특히 많이 씁니다.

단, 밝은 색을 어두운 색 위에 오버프린트하면 아래 색과 섞여 탁해지거나 안 보이게 될 수 있어 아무 데나 켜면 안 됩니다 — 보통 진한 검정처럼 "덮어도 티가 안 나는" 색에만 적용합니다.

언제 쓰나

어두운 배경 위 검정 텍스트·로고에 자주 씁니다. 밝은 별색을 어두운 배경에 얹을 때는 오히려 색이 왜곡되니 녹아웃을 유지하세요.