알파 채널을 사용하는 색상을 배경과 혼합하지 않았기 때문입니다. 알파 채널을 사용하는 두 가지 색상을 혼합하는 데 필요한 함수는 다음과 같습니다.
void MixColor(uint clr, uint &addr) { // mix the color in the cell at addr with the color clr and enter the new value in the same cellif (GETRGBA(addr) == 0) {
addr = clr;
return;
}
union argb {
uint clr;
uchar c[4];
} C;
C.clr = clr;
if (C.c[3] == 0) return;
if (C.c[3] == 255) {
addr = clr;
return;
}
argb Bg;
Bg.clr = addr;
float a = C.c[3] / (float)255.0;
float b = Bg.c[3]/ (float)255.0;
float ab = b+a-b*a;
C.c[3]=uchar(ab*255+0.49999);
if (ab>0.002) {
float a0 = a/ab;
float a1 = b*(1-a)/ab;
C.c[2] = uchar(C.c[2]*a0+Bg.c[2]*a1);
C.c[1] = uchar(C.c[1]*a0+Bg.c[1]*a1);
C.c[0] = uchar(C.c[0]*a0+Bg.c[0]*a1);
}
addr = C.clr;
}
배경이 투명한 일반 PNG 아이콘을 사용하는 소스가 많이 있습니다. 물론 직접 확인해보면 가장자리의 픽셀화가 없어도 GUI가 훨씬 더 좋아 보일 것입니다.
나는 논쟁하는 것이 아닙니다... 물론 더 좋아 보이겠죠. 그건 그렇고, 저는 아이콘을 꽤 잘 다룹니다. 작업 표시 줄 버튼의 그림자에주의를 기울이십시오. 배경을 투명하게 만듭니다. 그러나 픽셀에는 프로그래밍 방식으로 식별하기 어려운 색상 "쓰레기"가 있습니다. 가장자리에 있는 이 반점들처럼요. 엄밀히 말하면 한 가지 색이 아니며 아이콘 자체에서 분리하여 제거하기가 어렵습니다. 이것이 문제입니다.
Реter Konow #: 논쟁하는 게 아닙니다. 물론 더 좋아 보일 것입니다. 그건 그렇고, 저는 아이콘을 꽤 잘 처리합니다. 작업 표시 줄 버튼의 그림자를 주목하세요. 배경을 투명하게 만듭니다. 그러나 픽셀에는 프로그래밍 방식으로 식별하기 어려운 색상 "쓰레기"가 있습니다. 가장자리에 있는 이 반점들처럼요. 엄밀히 말하면 한 가지 색이 아니며 아이콘 자체에서 분리하여 제거하기가 어렵습니다. 이것이 바로 문제입니다.
더 나은 아이콘이 필요합니다. 픽셀화된 "쓰레기" 없이 말이죠.
투명한 배경의일반 PNG에는 쓰레기가 없습니다. 처리가 잘못되었을 때 쓰레기가 나타납니다. 올바른 기능은 위에 설명되어 있습니다 .
저는 그림자도 똑같이 처리하곤 했습니다. 이제는 더 이상 그렇게 하지 않습니다. 그림자, 그라데이션 및 컬이없는 현대적인 패션. 한마디로 미니멀리즘으로 렌더링 성능에 유리합니다.
Peter, 아이콘의 가장자리에 문제가 있습니다. 매우 거슬리는데요.
![](https://c.mql5.com/3/440/2179846295143.png)
알파 채널을 사용하는 색상을 배경과 혼합하지 않았기 때문입니다. 알파 채널을 사용하는 두 가지 색상을 혼합하는 데 필요한 함수는 다음과 같습니다.
PNG로 작업하는 방법을 볼 수도 있습니다https://www.mql5.com/en/code/45439
피터, 아이콘 가장자리에 문제가 있어요.
눈이 매우 힘들어요.
알파 채널을 사용하는 색상을 배경과 혼합하지 않았기 때문입니다. 알파 채널을 사용하는 색상을 혼합하는 데 필요한 함수는 다음과 같습니다.
PNG로 작업하는 방법을 볼 수도 있습니다https://www.mql5.com/en/code/45439
안녕하세요, 니콜라이!
현재 투명한 배경의 일반 png 아이콘을 사용하는 소스가 많이 있습니다.
예:https://pngtree.com/so/colored-icons
물론 직접 보시면 아시겠지만, 가장자리 인공물이 없는 GUI는 훨씬 더 높은 품질로 보일 것입니다.
배경이 투명한 일반 PNG 아이콘을 사용하는 소스가 많이 있습니다. 물론 직접 확인해보면 가장자리의 픽셀화가 없어도 GUI가 훨씬 더 좋아 보일 것입니다.
이제 배경이 투명한 일반 PNG 아이콘이 있는 소스가 많이 있습니다.
예:https://pngtree.com/so/colored-icons
논쟁하는 게 아닙니다. 물론 더 좋아 보일 것입니다. 그건 그렇고, 저는 아이콘을 꽤 잘 처리합니다. 작업 표시 줄 버튼의 그림자를 주목하세요. 배경을 투명하게 만듭니다. 그러나 픽셀에는 프로그래밍 방식으로 식별하기 어려운 색상 "쓰레기"가 있습니다. 가장자리에 있는 이 반점들처럼요. 엄밀히 말하면 한 가지 색이 아니며 아이콘 자체에서 분리하여 제거하기가 어렵습니다. 이것이 바로 문제입니다.
투명한 배경의일반 PNG에는 쓰레기가 없습니다. 처리가 잘못되었을 때 쓰레기가 나타납니다. 올바른 기능은 위에 설명되어 있습니다 .
저는 그림자도 똑같이 처리하곤 했습니다. 이제는 더 이상 그렇게 하지 않습니다.
그림자, 그라데이션 및 컬이없는 현대적인 패션.
한마디로 미니멀리즘으로 렌더링 성능에 유리합니다.
투명한 배경의일반 PNG에는 쓰레기가 없습니다. 잘못된 처리 시 쓰레기가 나타납니다. 올바른 함수는 위에 나와 있습니다 .
...