Canvas를 사용하여 재질의 색상을 변경하는 방법은 무엇입니까?
巴扎黑
巴扎黑 2017-07-03 11:42:54
0
1
1116

Zhihu에서 색상환을 사용하여 문자 색상을 변경하는 방법에 대한 질문을 봤습니다.
질문을 인용한 사진

속 캐릭터들은 옷만 다를 뿐 피부색은 동일합니다. 원글에서는 색상 팔레트를 사용했다고 언급했는데 너무 전문적이어서 어떻게 색상을 구현할 수 있는지 알 수 없습니다. 재료의 로컬 색상을 변경하는 팔레트? 정말 감사합니다~

보충사항:
이 사진은 GameMaker로 처리되었습니다. Canvas에서 이러한 사진을 처리할 수 있는 방법이 있나요?

巴扎黑
巴扎黑

모든 응답(1)
某草草

초기 카트리지는 메모리 용량이 제한되어 있어서 직접 사진을 저장하면 캐릭터 사진만으로도 카트리지가 꽉 찰 수 있습니다. 비트맵은 비트맵으로 구성되므로 각 점(즉, 각 픽셀)에는 고유한 색상이 있습니다. 초기 카세트머신에서는 사용할 수 있는 색상이 많지 않아 컬러휠이 있었습니다. (PS를 자주 사용하는 분들은 색상환을 아실 겁니다.) 즉, 사진에 사용된 모든 색상 번호는 용량이 조절된 색상환에 저장됩니다(실제로는 기존 QR 코드 사진과 같이 그냥 저장만 하면 됩니다). 두 가지 색상). 그런 다음 사진을 저장할 때 해당 도트 매트릭스의 원래 저장소에 빨간색, 녹색 및 파란색 채널의 값을 기록해야 합니다. 색상환을 사용한 후 해당 색상이 일련 번호로 직접 대체됩니다. 이는 색상환에 있는 일련번호 저장 공간이 빨간색, 녹색, 파란색 데이터보다 크기 때문에 공간을 덜 차지하며 색상환을 재사용할 수 있기 때문입니다(해당 색상이 색상환에 존재하는 한). 색상은 일련번호로 대체 가능), 간접적으로 카세트 공간을 절약해줍니다.

보관 중에는 색상환에 있는 일련번호만 저장되기 때문에, 색상환에 있는 해당 일련번호의 색상이 변경되는 한, 사진 속 해당 일련번호의 색상도 변경될 수 있습니다.

캔버스는 실제 색상으로 가득 차 있고 컴퓨터 저장 장치의 급속한 발전으로 인해 이제 컴퓨터 저장 공간은 카세트에 비해 훨씬 덜 부족하므로 캔버스에는 색상환이 없습니다. 그러나 색상환의 원리를 알고 나면 실제로 색상환을 시뮬레이션하는 솔루션을 생각해 볼 수 있습니다. 색상환은 숫자를 사용하여 색상을 대체하므로, 즉 색상환의 색상을 바꾸면 그림의 모든 영역이 해당 색상과 동일한 색상 값으로 대체됩니다. 따라서 이 아이디어에 따르면, 색상 값이 특정 값과 동일한 그림의 모든 색상을 교체해야 합니다. 영감을 얻기 위해 다음 링크를 참조하세요. http://www.deanhan.cn/canvas-...

또한 기존 카트리지 게임의 8비트 이미지에서는 색상 구분이 크기 때문에 페인팅 디스크 교체 솔루션이 상대적으로 쉽지만 기존 트루 컬러 비트맵의 경우 현재 비트맵이 매우 어렵기 때문에 훨씬 더 어렵습니다.

와 같이 구별이 거의 없는 색상 그라데이션이 있을 가능성이 높으며 이는 페인팅 디스크 아이디어를 사용하는 데 적합하지 않습니다. #dedede#dededd

업데이트

현재 트루 컬러 사진의 색상 변환에 대해 이야기해 보겠습니다. 일반적으로 RGB 값이 HSL/HSV 값으로 변환된 다음 H 값을 조정하여 색조가 변경됩니다.

마지막으로 RGB 값으로 다시 변환합니다. 이 유형의 색상은 단독으로 변경할 수 없습니다. (변환 적용 영역을 제한하지 않는 한) 변경으로 인해 피부색이 변경될 수 있습니다. H 값에서 뭔가가 변경되었습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿