[phina.js] 이미지의 색상을 변경하는 방법 (마스크)
이미지의 색상을 변경하는 함수 만들기
// 画像マスク用の関数を定義
function maskImage(imageKey, color, distKey) {
var original = AssetManager.get('image', imageKey).domElement;
// 画像生成用にダミーのシーン生成
var dummy = DisplayScene({
// 元画像と同じサイズにする
width: original.width,
height: original.height,
// 背景色を変更したい色にする
backgroundColor: color,
});
var originalSprite = Sprite(imageKey).addChildTo(dummy);
// 描画の位置を変更
originalSprite.setOrigin(0, 0);
// 描画方法をマスクするように変更
originalSprite.blendMode = 'destination-in';
// シーンの内容を描画
dummy._render();
// シーンの描画内容から テクスチャを作成
var texture = Texture();
texture.domElement = dummy.canvas.domElement;
if (distKey) {
AssetManager.set('image', distKey, texture);
}
return texture;
}
사용법
AssetManager
에 추가한 다음 사용하거나 직접 텍스처로 사용할 수 있습니다.maskImage(色を変えたい asset, 変更後の色, 新しい asset の名前)
// あらかじめ読み込んである 'kumo' という画像から '青いくも' という asset を生成
maskImage('kumo', 'blue', '青いくも');
Sprite('青いくも').addChildTo(this);
// 直接テクスチャとして使う
var texture = maskImage('kumo', 'pink');
Sprite(texture).addChildTo(this);
처리 흐름
blendMode
를 destination-in
로 한다 _render()
메서드 호출 .canvas.domElement
에서 Texture
생성 distKey
있는 경우 새로 AssetManager
로 설정 Texture
반환 이미지 생성 방법은 여기에서도 설명합니다.
phina.js의 Shape를 여러 정리하여 이미지로 사용 - Qiita
샘플
Reference
이 문제에 관하여([phina.js] 이미지의 색상을 변경하는 방법 (마스크)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/simiraaaa/items/2a1cc7b0f92718d6eed6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)