문제

에서 가득 차있다.NET 프레임 워크를 사용할 수 있습니다.FromArgb()메서드를 만드는 새로운 색상으로 알파 블렌딩은 다음과 같습니다.

Color blended = Color.FromArgb(alpha, color);

Color blended = Color.FromArgb(alpha, red, green , blue);

그러나 Compact Framework(2.0 특히),나도 그들의 방법을 사용할 수 있는,당신이 얻을:

Color.FromArgb(int red, int green, int blue);

Color.FromArgb(int val);

첫 번째,분명한지도자를 입력하는 알파 값을 가지고 있지만,설명서에 대한 후자는"val"은 32 비트 ARGB 값(as0xAARRGGBB 반대하는 표준 24bit0xRRGGBB),그렇게 이해할 수 있는 단축 ARGB 값을 전달하는 기능입니다.이와 함께 다음과 같다:

private Color FromARGB(byte alpha, byte red, byte green, byte blue)
{
    int val = (alpha << 24) | (red << 16) | (green << 8) | blue;
    return Color.FromArgb(val);
}

하지만 내가 무엇을 하든지,알파 블렌딩 작동하지 않,결과 색상으로 항상 완전 불투명으로도 설정할 때 알파 값은 0 입니다.

는 사람에게 이것에서 작동하 Compact Framework?

도움이 되었습니까?

해결책

분명히 그것은 아주 간단하지만, 여전히 가능, 이 있는 경우 윈도우 모바일 5.0 이상.

다른 팁

분명히,그것은 확실히 그 간단하지만,여전히 가능한 경우,당신 윈도우 모바일 5.0 이상.

Wow...확실히 가치가 있는 경우를 넣는 모든 코드(고 네이티브 interop!) 알고 좋은 하지만,감사에 대한 링크입니다.

codeplex 사이트 거기에는 것 같이 무거운 들기의 com 당신을 위해:

이 코드를 추가 이

device.RenderState.AlphaBlendEnable = true;
device.RenderState.AlphaFunction = Compare.Greater;
device.RenderState.AlphaTestEnable = true;
device.RenderState.DestinationBlend = Blend.InvSourceAlpha;
device.RenderState.SourceBlend = Blend.SourceAlpha;
device.RenderState.DiffuseMaterialSource = ColorSource.Material;

에서 초기화 루틴과 그것을 아주 잘 작동,감사

CE6.0 지원하지 않는 알파 블렌딩을 가져왔습니다.WM5.0 상 할 수 있지만,없을 통해.NET CF,해야 합니다 P/Invoke GDI 물건니다.이 준비되어 솔루션 밖에 있는 경우에,그러나 당신이 관심이 있습니다.링크 내에 사무실입니다.적으로 CE6.0 현재 그래서 나는 그들을 필요가 없습니다.

를 사용하는 경우 CE6.0 사용할 수 있는 의사의 투명성을 예약하여 투명성을 배경 색상(예를들면ff00ff 또는 무언가 similiarly 추)고 사용하는 이미지에 대한 투명한 지역이다.그런 다음,부모트 컨트롤을 구현해야 합니다 간단한 인터페이스할 수 있는 다시 그리기 관련 부분에서 당신의 딸 컨트롤'그래픽 버퍼입니다.이 제공하지 않습니다 당신은 진정한"알파 채널이"하지만 오히려 그냥 하드에프 바이너리 종류의 투명도입니다.

그것은 나쁘지 않아 그것은 소리입니다.을 살펴 OpenNETCF ImageButton 우선입니다.는 경우가 사용하는 이 방법을 내가 다 확장 버전의 몇 가지 간단한 컨트롤을 이 기술은 주위에 거짓말할 경우 관심이 있습니다.

하나 추가적인 단점은 이 기술에 의존하는 부모 컨트롤을 구현하는 특별한 인터페이스 및 daugther 을 사용하여 컨트롤에 그것을 그리기.그래서 함께 폐 원본 구성 요소(i.e또한 주식 winforms 구성 요소에)당신은 당신의 행운입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top