수색…


"대상 초과"로 기존 모양 뒤에 그리기

context.globalCompositeOperation = "destination-over"

"destination-over"합성 은 기존 도면 아래에 새 도면을 배치합니다.

context.drawImage(rainy,0,0);
context.globalCompositeOperation='destination-over';  // sunny UNDER rainy
context.drawImage(sunny,0,0);

여기에 이미지 설명을 입력하십시오.

"대상 없음"으로 기존 모양 지우기

context.globalCompositeOperation = "destination-out"

"대상 외"합성은 새 모양을 사용하여 기존 도면을 지 웁니다.

새로운 도형은 실제로 그려지지 않으며 기존 픽셀을 지우는 데 "쿠키 커터 (cookie-cutter)"로 사용됩니다.

context.drawImage(apple,0,0);
context.globalCompositeOperation = 'destination-out';   // bitemark erases
context.drawImage(bitemark,100,40);

여기에 이미지 설명을 입력하십시오.

기본 합성 : 기존 모양 위에 새 모양이 그려집니다.

context.globalCompositeOperation = "source-over"

"원본 오버"합성 [기본값] 은 모든 새 도면을 기존 도면 위에 배치합니다.

context.globalCompositeOperation='source-over';  // the default
context.drawImage(background,0,0);
context.drawImage(parachuter,0,0);

여기에 이미지 설명을 입력하십시오.

"destination-in"이있는 도형 내부의 이미지 클립

context.globalCompositeOperation = "destination-in"

새로운 도형 내부의 기존 도면을 클립으로 합성하는 "대상 입력 (destination-in)"기능.

주 : 기존 도면의 새 도면 외부에있는 모든 부분이 지워 집니 다.

context.drawImage(picture,0,0);
context.globalCompositeOperation='destination-in';  // picture clipped inside oval
context.drawImage(oval,0,0);

여기에 이미지 설명을 입력하십시오.

"소스 입력"

context.globalCompositeOperation = "source-in";

source-in 합성은 기존 모양 안에 새 도면을 클립합니다.

참고 : 새 도면에서 기존 도면 외부에있는 부분은 지워집니다.

context.drawImage(oval,0,0);
context.globalCompositeOperation='source-in';  // picture clipped inside oval
context.drawImage(picture,0,0);

여기에 이미지 설명을 입력하십시오.

"source-atop"이있는 내부 그림자

context.globalCompositeOperation = 'source-atop'

source-atop 클립 합성 기존 모양 안에 새로운 이미지.

// gold filled rect
ctx.fillStyle='gold';
ctx.fillRect(100,100,100,75);
// shadow
ctx.shadowColor='black';
ctx.shadowBlur=10;
// restrict new draw to cover existing pixels
ctx.globalCompositeOperation='source-atop';
// shadowed stroke
// "source-atop" clips off the undesired outer shadow
ctx.strokeRect(100,100,100,75);
ctx.strokeRect(100,100,100,75);

여기에 이미지 설명을 입력하십시오.

"차이"가있는 이미지 반전 또는 반전

복합 연산을 사용하여 이미지 위에 흰색 사각형을 렌더링합니다.

ctx.globalCompositeOperation = 'difference';

효과의 양은 알파 설정으로 제어 할 수 있습니다.

// Render the image
ctx.globalCompositeOperation='source-atop';
ctx.drawImage(image, 0, 0);

// set the composite operation
ctx.globalCompositeOperation='difference';
ctx.fillStyle = "white";
ctx.globalAlpha = alpha;  // alpha 0 = no effect 1 = full effect
ctx.fillRect(0, 0, image.width, image.height);

여기에 이미지 설명을 입력하십시오.

"컬러"가있는 흑백

다음을 통해 이미지에서 색상 제거

ctx.globalCompositeOperation = 'color';

효과의 양은 알파 설정으로 제어 할 수 있습니다.

// Render the image
ctx.globalCompositeOperation='source-atop';
ctx.drawImage(image, 0, 0);

// set the composite operation
ctx.globalCompositeOperation='color';
ctx.fillStyle = "white";
ctx.globalAlpha = alpha;  // alpha 0 = no effect 1 = full effect
ctx.fillRect(0, 0, image.width, image.height);

여기에 이미지 설명을 입력하십시오.

"채도"로 색상 대비를 높입니다.

다음을 사용하여 이미지의 채도 수준 높이기

ctx.globalCompositeOperation = 'saturation';

효과의 양은 알파 설정 또는 채우기 오버레이의 채도 양을 제어 할 수 있습니다

// Render the image
ctx.globalCompositeOperation='source-atop';
ctx.drawImage(image, 0, 0);

// set the composite operation
ctx.globalCompositeOperation ='saturation';
ctx.fillStyle = "red";
ctx.globalAlpha = alpha;  // alpha 0 = no effect 1 = full effect
ctx.fillRect(0, 0, image.width, image.height);

여기에 이미지 설명을 입력하십시오.

"광도"가있는 Sepia FX

색상이있는 세피아 FX 만들기

ctx.globalCompositeOperation = 'luminosity';

이 경우 세피아 색이 먼저 이미지로 렌더링됩니다.

효과의 양은 알파 설정 또는 채우기 오버레이의 채도 양을 제어 할 수 있습니다

// Render the image
ctx.globalCompositeOperation='source-atop';
ctx.fillStyle = "#F80";  // the color of the sepia FX
ctx.fillRect(0, 0, image.width, image.height);

// set the composite operation
ctx.globalCompositeOperation ='luminosity';

ctx.globalAlpha = alpha;  // alpha 0 = no effect 1 = full effect
ctx.drawImage(image, 0, 0);

여기에 이미지 설명을 입력하십시오.

"globalAlpha"로 불투명도 변경

context.globalAlpha=0.50

globalAlpha 를 0.00 (완전 투명)과 1.00 (완전 불투명) 사이의 값으로 설정하여 새 도면의 불투명도를 변경할 수 있습니다.

기본 globalAlpha 는 1.00입니다 (완전히 불투명합니다).

기존 도면은 globalAlpha 영향을받지 않습니다.

// draw an opaque rectangle
context.fillRect(10,10,50,50);

// change alpha to 50% -- all new drawings will have 50% opacity
context.globalAlpha=0.50;

// draw a semi-transparent rectangle
context.fillRect(100,10,50,50);


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow