찾다
웹 프론트엔드HTML 튜토리얼Compose 和 Blend(二)_html/css_WEB-ITnose

在上篇文章中我们讲了 compose 的一些方法,比如 source-in , XOR 等等。但这些都是裁剪相关的,下面我们就要介绍一下 blend 。

什么是 Blend(混合)

我的理解 blend 是 compose 中的一步,上篇文章中我已讲到了 compose 的一些方法,但是 blend 是将两张图的颜色混合在一起。

最典型的例子就是三原色,我们可以把红、蓝、绿三个球想象成三个图层,黄、青、洋红就是这三个图层 blend 之后的结果。

Photoshop 里的混合模式就是 blend ,这个功能用过 Photoshop 的人应该都很熟悉了。

CSS 中的 Blend

CSS 中 blend 的标准最起初是由 Adobe 公司提出的草案。

CSS 里有 isolation , mix-blend-mode 和 background-blend-mode 三个属性来控制混合的方式。

  • mix-blend-mode 指定一个元素将如何与它「下面」的元素混合

  • background-blend-mode 指定 background-image 如何与 background-color 混合

  • isolation 指定一个元素不参与混合

下面的网站用 css blend 实现了很多复杂的图形,其中一个背景的 css 代码也不过就十几行,比加载一张图片体积小了很多。

http://bennettfeely.com/gradients/

Blend 各种模式的计算方式

blend 属性有很多值,比如 darken , overlay , color-dodge 。其中使用量最多的就是 multiply 正片叠低 ,「正片叠底」这个词很多设计师应该都知道,但是明白它到底是做什么的就不多了。

那么现在我们就来讲一下各种混合模式的计算方式。

Cs = source color = 前景颜色

Cb = backdrop color = 背景颜色

B(Cb, Cs) = 混合模式

Cs、Cb 为一个 1*3 的矩阵 [R, G, B]矩阵中每个元素的取值范围为 0 ~ 1

normal

B(Cb, Cs) = Cs

normal 方式其实和 compose 中的 source over 行为一样,也是我们一般图片叠加的方法。

multiply

B(Cb, Cs) = Cb x Cs

通过公式我们可以看出混合后的结果比前景和背景都要暗。并且前景和背景中的白色都会被剔除掉。

screen

B(Cb, Cs) = 1 - [(1 - Cb) x (1 - Cs)]          = Cb + Cs -(Cb x Cs)

screen 感觉和 multiply 作用正好相反,生成的结果比背景、前景都要亮。

hard-light

if(Cs <= 0.5)    B(Cb, Cs) = Multiply(Cb, 2 x Cs)else    B(Cb, Cs) = Screen(Cb, 2 x Cs -1)  

overlay

B(Cb, Cs) = HardLight(Cs, Cb)

把 hard-light 中背景和前景颠倒过来就是 overlay

darken

B(Cb, Cs) = min(Cb, Cs)

选择背景、前景中最暗的像素

lighten

B(Cb, Cs) = max(Cb, Cs)

选择背景、前景中最亮的像素

color-dodge

if(Cb == 0)    B(Cb, Cs) = 0else if(Cs == 1)    B(Cb, Cs) = 1else    B(Cb, Cs) = min(1, Cb / (1 - Cs))

color-burn

if(Cb == 1)    B(Cb, Cs) = 1else if(Cs == 0)    B(Cb, Cs) = 0else    B(Cb, Cs) = 1 - min(1, (1 - Cb) / Cs)

hard-light

if(Cs <= 0.5)    B(Cb, Cs) = Multiply(Cb, 2 x Cs)else    B(Cb, Cs) = Screen(Cb, 2 x Cs -1)  

soft-light

    if(Cs <= 0.5)        B(Cb, Cs) = Cb - (1 - 2 x Cs) x Cb x (1 - Cb)    else        B(Cb, Cs) = Cb + (2 x Cs - 1) x (D(Cb) - Cb)with    if(Cb <= 0.25)        D(Cb) = ((16 * Cb - 12) x Cb + 4) x Cb    else        D(Cb) = sqrt(Cb)

difference

B(Cb, Cs) = | Cb - Cs |

exclusion

B(Cb, Cs) = Cb + Cs - 2 x Cb x Cs

参考资料

Compositing and Blending Level 1

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
HTML vs. CSS vs. JavaScript : 비교 개요HTML vs. CSS vs. JavaScript : 비교 개요Apr 16, 2025 am 12:04 AM

웹 개발에서 HTML, CSS 및 JavaScript의 역할은 다음과 같습니다. HTML은 컨텐츠 구조를 담당하고 CSS는 스타일을 담당하며 JavaScript는 동적 동작을 담당합니다. 1. HTML은 태그를 통해 웹 페이지 구조와 컨텐츠를 정의하여 의미를 보장합니다. 2. CSS는 선택기와 속성을 통해 웹 페이지 스타일을 제어하여 아름답고 읽기 쉽게 만듭니다. 3. JavaScript는 스크립트를 통해 웹 페이지 동작을 제어하여 동적 및 대화식 기능을 달성합니다.

HTML : 프로그래밍 언어입니까 아니면 다른 것입니까?HTML : 프로그래밍 언어입니까 아니면 다른 것입니까?Apr 15, 2025 am 12:13 AM

Htmlisnotaprogramminglanguage; itisamarkuplanguage.1) htmlstructuresandformatswebcontentusingtags.2) itworksporstylingandjavaScriptOfforIncincivity, WebDevelopment 향상.

HTML : 웹 페이지 구조 구축HTML : 웹 페이지 구조 구축Apr 14, 2025 am 12:14 AM

HTML은 웹 페이지 구조를 구축하는 초석입니다. 1. HTML은 컨텐츠 구조와 의미론 및 사용 등을 정의합니다. 태그. 2. SEO 효과를 향상시키기 위해 시맨틱 마커 등을 제공합니다. 3. 태그를 통한 사용자 상호 작용을 실현하려면 형식 검증에주의를 기울이십시오. 4. 자바 스크립트와 결합하여 동적 효과를 달성하기 위해 고급 요소를 사용하십시오. 5. 일반적인 오류에는 탈수 된 레이블과 인용되지 않은 속성 값이 포함되며 검증 도구가 필요합니다. 6. 최적화 전략에는 HTTP 요청 감소, HTML 압축, 시맨틱 태그 사용 등이 포함됩니다.

텍스트에서 웹 사이트로 : HTML의 힘텍스트에서 웹 사이트로 : HTML의 힘Apr 13, 2025 am 12:07 AM

HTML은 웹 페이지를 작성하는 데 사용되는 언어로, 태그 및 속성을 통해 웹 페이지 구조 및 컨텐츠를 정의합니다. 1) HTML과 같은 태그를 통해 문서 구조를 구성합니다. 2) 브라우저는 HTML을 구문 분석하여 DOM을 빌드하고 웹 페이지를 렌더링합니다. 3) 멀티미디어 기능을 향상시키는 HTML5의 새로운 기능. 4) 일반적인 오류에는 탈수 된 레이블과 인용되지 않은 속성 값이 포함됩니다. 5) 최적화 제안에는 시맨틱 태그 사용 및 파일 크기 감소가 포함됩니다.

HTML, CSS 및 JavaScript 이해 : 초보자 안내서HTML, CSS 및 JavaScript 이해 : 초보자 안내서Apr 12, 2025 am 12:02 AM

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

HTML의 역할 : 웹 컨텐츠 구조HTML의 역할 : 웹 컨텐츠 구조Apr 11, 2025 am 12:12 AM

HTML의 역할은 태그 및 속성을 통해 웹 페이지의 구조와 내용을 정의하는 것입니다. 1. HTML은 읽기 쉽고 이해하기 쉽게하는 태그를 통해 컨텐츠를 구성합니다. 2. 접근성 및 SEO와 같은 시맨틱 태그 등을 사용하십시오. 3. HTML 코드를 최적화하면 웹 페이지로드 속도 및 사용자 경험이 향상 될 수 있습니다.

HTML 및 코드 : 용어를 자세히 살펴 봅니다HTML 및 코드 : 용어를 자세히 살펴 봅니다Apr 10, 2025 am 09:28 AM

"Code"는 "Code"BroadlyIncludeLugageslikeJavaScriptandPyThonforFunctureS (htMlisAspecificTypeofCodeFocudecturecturingWebContent)

HTML, CSS 및 JavaScript : 웹 개발자를위한 필수 도구HTML, CSS 및 JavaScript : 웹 개발자를위한 필수 도구Apr 09, 2025 am 12:12 AM

HTML, CSS 및 JavaScript는 웹 개발의 세 가지 기둥입니다. 1. HTML은 웹 페이지 구조를 정의하고 등과 같은 태그를 사용합니다. 2. CSS는 색상, 글꼴 크기 등과 같은 선택기 및 속성을 사용하여 웹 페이지 스타일을 제어합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기