>  기사  >  웹 프론트엔드  >  캔버스 비디오 마스크 플러그인 예제 공유

캔버스 비디오 마스크 플러그인 예제 공유

小云云
小云云원래의
2018-01-08 10:35:491773검색

영상에 오버레이를 추가해 영상의 특정 영역(10~20분 등) 동안에는 구분된 영역이 표시되지 않습니다. 적용 시나리오에는 위성 TV 아이콘 차단, 비디오 오른쪽 하단의 광고 차단, 모자이크 역할 등이 포함됩니다. 이번 글에서는 주로 캔버스 기반의 비디오 마스크 플러그인을 자세히 소개하고, 영상에 커버를 추가하는 방법을 자세하게 소개하고 있으니, 필요한 친구들이 참고하면 좋을 것 같습니다. 모든 사람.

긴 동영상에는 여러 개의 마스크가 포함될 수 있으며, 각 마스크에는 특정 표시 시간이 있습니다(이 시간 외에는 마스크가 숨겨집니다).

비디오 마스킹의 프런트 엔드 구현

에는 p 기반과 캔버스 기반의 두 가지 기술 솔루션이 있습니다. 이 기사는 캔버스를 사용하여 완성됩니다.

주요 원칙은 투명한 캔버스 레이어를 HTML 비디오 태그에 첨부한 다음 mousedown, mousemove 및 mouseup 이벤트에 응답하는 것입니다. 캔버스 이벤트는 캔버스 요소만을 기반으로 하기 때문에 캔버스 내부의 각 요소(사각형, 원 등)의 이벤트 응답은 좌표를 사용하여 자체 코드로 완성되어야 합니다.

플러그인 GitHub 주소

https://github.com/cunzaizhuyi/maskPlugin

데모 주소
http://htmlpreview.github.io/?https://github.com/cunzaizhuyi/maskPlugin/blob/ master/mask/mask.html

기능 포인트 구현

  1. 마스크 그리기(직사각형)

  2. 마스크 스타일 설정(API 제공)

  3. 마스크 이동

  4. 마스크 줌

  5. 캔버스 마우스 스타일 변환

캡슐화된 API

Name 값 유형 Description
1. 직사각형 관련 설정
fillStyle 색상 값 직사각형 채우기 색상, 기본값은 '#eeeeee'
StrokeStyle 색상 값 사각형 테두리 선 색상, 기본값은 '#0000ff'
inRectCursor String 마우스가 안에 있을 때의 마우스 스타일 작은 직사각형, 기본값은 '이동'입니다. '포인터' 또는 이와 유사한 것으로 설정할 수 있습니다.
2. 직사각형 경계의 작은 직사각형 8개에 대한 관련 설정
bRectsStrokeStyle 색상 값 사각형 경계의 작은 직사각형 색상, 기본값은 '#0000ff'입니다.
bSideLength number 직사각형 경계에 있는 작은 직사각형의 변 길이 값, 기본값은 6
3입니다. 마스크 시간 관련
masksTime The 각 마스크의 시작 표시 시간과 끝 표시 시간, 마스크는 직사각형에 해당합니다

masksTime 예:


[{
    maskId: 1,
    startTime: 0,
    endTime: 10,
}, {maskId: 2,
    startTime: 3,
    endTime: 13,
}]

Finally

이 작은 플러그인은 700개 이상의 라인 기반 네이티브 캔버스에서는 캔버스의 세계를 탐험할 수 있습니다. 시작에 불과합니다.

관련 추천 :

jQuery 구현 예시 IE6 호환 마스킹 기능 공유

마스크 레이어 뒤로 페이지 스크롤 방지 방법 예시

마우스를 배치하여 마스킹 효과를 구현하는 JS 코드 이미지 속 케이스

위 내용은 캔버스 비디오 마스크 플러그인 예제 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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