이 글에서는 CSS3를 사용하여 흑백 사진 효과를 만드는 방법을 주로 소개합니다. CSS3의 필터는 매우 강력하며, 필요한 친구들이 참조할 수 있는 방법도 소개합니다.
CSS3의 필터 기능을 사용하면 PhotoShop이나 많은 JavaScript 또는 PHP 코드를 사용하지 않고도 쉽고 편리하게 이미지를 처리할 수 있습니다. 이 속성은 최신 Firefox, Safari 및 Chrome 브라우저에서 이미 지원되며 포괄적인 대체 기술, 심지어 IE 브라우저를 통해 이 효과를 시뮬레이션할 수 있습니다.
이 글에서는 표준 테스트 이미지 Lena Söderberg(역자 주: Lena의 아름다운 사진은 이미지 압축을 위한 표준 테스트 이미지로 사용됨)를 데모로 사용하고 CSS를 사용하여 흑백으로 변환해 보겠습니다. 흰색 이미지. 아래에서는 CSS의 이 기능을 사용하여 색조, 흐림, 밝기, 대비 및 기타 효과를 조정하는 방법을 설명합니다. 렌더링:
CSS3 회색조 필터
CSS3를 사용하여 이미지 색상을 희석하는 것은 이보다 더 쉬울 수 없습니다. 이 CSS 문을 클래스로 작성할 수 있으므로 원하는 효과가 있는 그림을 발견하면 클래스를 직접 추가할 수 있습니다.
img.desaturate { filter: grayscale(100%); }
물론 현재 브라우저가 CSS3를 사용하는 경우 브라우저 기능에 대한 자체적인 실험적 접두사를 추가해야 하므로 가장 먼저 해야 할 일은 브라우저:
img.desaturate { filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); }
특정 사진에 사용하고 싶다면 매우 간단합니다. 클래스만 추가하면 됩니다:
<img src=lena-söderberg.png alt="Lena Söderberg" style=width:512px;height:512px class=desaturate>
그렇습니다. ## SVG 필터 효과를 추가하세요. 이 기능은 현재 Chrome 18 이상에서만 사용할 수 있으며 다른 브라우저에도 곧 지원이 추가될 예정입니다. Firefox 4+에서 동일한 효과를 얻으려면 SVG 필터를 사용해야 할 수도 있습니다. 다음 코드를 사용하여 새 별도 파일 saturate.svg를 만들었습니다.
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> <filter id="greyscale"> <feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"/> </filter> </svg>
이 SVG 코드에 겁먹지 마세요. 위의 행렬 시퀀스는 약간 복잡하지만요. 이 코드를 일반적인 "작은 파일"에 직접 복사하여 붙여넣는 것이 좋습니다. 위의 매트릭스 변경 사항을 자세히 소개하는 글을 또 쓸 예정이므로 여기서는 자세히 다루지 않겠습니다. 위의 SVG 파일 참조를 사용하여 HTML 페이지에 삽입하려는 CSS 코드는 다음과 같습니다.
img.desaturate{ filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url(desaturate.svg#greyscale); }
IE 호환성의 경우:
이제 우리 코드는 향후 브라우저와 최신 버전의 Chrome 및 Firefox 4+와 호환됩니다. IE 6-9를 호환성 목록에 추가하려면 Microsoft의 서툴지만 효과적인 필터를 사용해야 합니다.
img.desaturate{ filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url(desaturate.svg#greyscale); filter: gray; }
여전히 이전 버전의 Webkit을 탐색하고 싶다면 커널 브라우저 호환성:
img.desaturate{ filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url(desaturate.svg#greyscale); filter: gray; -webkit-filter: grayscale(1); }
모든 브라우저에서 이 시각적 효과를 얻으려면(방문자가 JavaScript를 지원한다고 가정) jQuery<🎜를 사용할 수 있습니다. > 또는 Greyscale.js를 사용하여 이미지를 수정하여 색상을 제거하세요.
기타 효과:
또한 흑백 사진에 다른 필터 효과를 추가할 수 있습니다:-webkit-filter:blur(5px); //模糊,此处为5像素 -webkit-filter:sepia(0.5); //叠加褐色,取值范围0-1,此处表示50%的褐色 -webkit-filter:brightness(0.5); //亮度,取值范围0-1,5倍亮度(数字为0时为正常样式,为1时表示的是100%亮度,无法看到图片) -webkit-filter:hue-rotate(30deg); //色相(按照色相环进行旋转,顺时针方向,红-橙-黄-黄绿-绿-蓝绿-蓝-蓝紫-紫-紫红-红)此处为叠加黄色滤镜 -webkit-filter:invert(1); //反色,取值范围0-1,0为原图,1为彻底反色之后,0.5为灰色 -webkit-filter:saturate(4); //饱和度,取值范围0~*,0为无饱和度,1为原图,值越高饱和度越大 -webkit-filter:contrast(2); //对比度,取值范围0~*,0为无对比度(灰色),1为原图,值越高对比度越大 -webkit-filter:opacity(0.8); //透明度,取值范围0~1,0为全透明,1为原图 -webkit-filter:drop-shadow(17px 17px 20px black); //阴影
위 내용은 흑백 사진 효과를 만들기 위해 CSS3를 사용하여 회색조 필터를 작성하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!