1
픽셀 값에서 RGB를 추출하는 방법입니다. 다음은 코드 스 니펫입니다.C# WriteableBitmapEx 픽셀을 미리 곱하는 픽셀
Byte a = (Byte)(myColor >> 24);
// Prevent division by zero
UInt32 ai = a;
if (ai == 0)
{
ai = 1;
}
ai = ((255 << 8)/ai);
Byte bA = a;
Byte bR = (Byte)((((myColor >> 16) & 0xFF) * ai) >> 8);
Byte bG = (Byte)((((myColor >> 8) & 0xFF) * ai) >> 8);
Byte bB = (Byte)((((myColor & 0xFF) * ai) >> 8));
기술적으로, 즉 비트 수준에서, 그리고 무슨 일이 일어나고 있는지 이해합니다. 특히 'Byte b # = (Byte) (((myColor >> n) & 0xFF)'부분을 이해합니다. 내가 이해할 수없는 것은 미리 곱하기입니다. 255 알파만큼 오른쪽으로 8 비트만큼 이동 한 후 나누어하는 이유
- 가 왜 각각의 값은 다음이과의 결과를 곱한되고 그래서 제 질문하고 - 이해하고 싶어? 왼쪽으로 8 비트 이동 했습니까?
여기를 참조하십시오. –
내 질문에 따라 코드를 이해하고 있습니까? – descf