기고글 토론 "CCanvas 클래스 공부하기. 투명 개체를 그리는 방법"

 

새로운 기고글 CCanvas 클래스 공부하기. 투명 개체를 그리는 방법 가 게재되었습니다:

이동 평균의 어색한 그래픽 이상이 필요하십니까? 터미널에 채워진 단순한 직사각형보다 더 아름다운 것을 그리고 싶습니까? 터미널에서 매력적인 그래픽을 그릴 수 있습니다. 이것은 사용자 정의 그래픽을 만드는 데 사용되는 CСanvas 클래스를 통해 구현할 수 있습니다. 이 클래스를 사용하면 투명도를 구현하고 색상을 혼합하고 색상을 겹치고 혼합하여 투명도의 환상을 만들 수 있습니다.

MetaTrader 5에서 그리는 것은 간단하며 몇 가지 뉘앙스만 알면 됩니다. 뉘앙스 중 하나는 터미널 화면이 디자인되는 방식입니다. 보다 정확하게는 그래픽이 화면에 출력되는 방식에 관심이 있습니다. 예를 들어 차트를 전경이나 배경에 표시할 수 있습니다. 화면의 색상 출력은 차트 표시에 따라 다릅니다. 일부 그래픽 개체는 겹치거나 교차하는 영역에서 색상이 변경될 수 있습니다.

CCanvas 클래스를 사용하여 직접 그리기를 진행하기 전에 색상 처리와 관련된 몇 가지 정의를 분석해 보겠습니다. 예를 들어 알파 채널의 의미를 알아보겠습니다.

제 생각에는 투명도 구현이 이미지를 생생하게 해줄 수 있는 가장 중요한 기술이라고 생각합니다. 예를 들어, 투명도를 사용하여 부드러운 색상 전환 또는 그림자가 있는 더 매력적인 인터페이스를 구현할 수 있습니다. 그림자는 그래픽 개체에 차원을 추가하고 개체 가장자리를 시각적으로 부드럽게 합니다.

이제 우리는 투명성의 실질적인 구현을 진행할 수 있습니다.

채워진 직사각형을 여러 개 그려봅시다(스크립트 "xor.mq5"). 색상 처리 방법의 차이점을 설명하기 위해 차트 상단에 겹치지 않는 가로 캔버스 3개를 적용해 보겠습니다.

첫 번째는 COLOR_FORMAT_XRGB_NOALPHA, 두 번째는 COLOR_FORMAT_ARGB_RAW, 세 번째는 COLOR_FORMAT_ARGB_NORMALIZE를 사용하여 처리됩니다. 그런 다음 투명도를 255(완전 불투명)에서 0(완전 투명)으로 점진적으로 변경합니다. 스크립트를 "Illusion.mq5"라고 합시다.

비디오는 스크립트 "Illusion.mq5"가 작동하는 방식을 보여줍니다.


그림 11. 스크립트illusion.mq5의 작업

작성자: Vladimir Karputov