이 글에서는 주로 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와 호환 가능:
이제 코드는 향후 브라우저 및 최신 버전의 브라우저와 호환될 수 있습니다. 크롬, 파이어폭스 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를 사용하여 이미지를 수정하여 탈색할 수 있습니다.
위에 작성한 CSS 코드를 사용하면 PhotoShop을 사용하지 않고도 이미지를 흑백으로 바꿀 수 있습니다. CSS를 사용하여 이 기능을 구현하는 것은 매우 쉽게 수정할 수 있습니다. 예를 들어, 탈색 매개변수를 100%에서 50%로 변경하면 이미지에 기본 색상과 흑백이 혼합된 효과가 나타나는 것을 볼 수 있습니다.
기타 효과:
또한 흑백 사진에 다른 필터 효과를 추가할 수 있습니다.
-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); //阴影
위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 콘텐츠에 주목하세요. PHP 중국어 웹사이트!
관련 권장 사항:
CSS를 사용하여 3차원 가로 버튼 메뉴 효과를 구현합니다.
위 내용은 CSS3를 사용하여 회색조 필터를 작성하여 흑백 사진 효과 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!