Dans le .NET framework complet, vous pouvez utiliser la méthode Color.FromArgb() pour créer une nouvelle couleur avec mélange alpha, comme ceci:mélange de couleurs Alpha dans .NET Compact Framework 2.0
Color blended = Color.FromArgb(alpha, color);
ou
Color blended = Color.FromArgb(alpha, red, green , blue);
Toutefois, dans le Compact Framework (2.0 spécifiquement), aucune de ces méthodes sont disponibles, vous obtenez seulement:
Color.FromArgb(int red, int green, int blue);
et
Color.FromArgb(int val);
La première, évidemment, ne même pas vous laisser entrer une valeur alpha, mais la documentation de celle-ci montre que « val » est une valeur ARVB 32bit (comme 0xAARRVVBB par opposition à la norme 24bit 0xRRGGBB), il serait donc logique que vous puissiez simplement construire la valeur ARGB et la transmettre à la fonction. J'ai essayé ce qui suit:
private Color FromARGB(byte alpha, byte red, byte green, byte blue)
{
int val = (alpha << 24) | (red << 16) | (green << 8) | blue;
return Color.FromArgb(val);
}
Mais peu importe ce que je fais, les travaux de mélange alpha jamais, la couleur résultante toujours aussi pleine d'opacité, même lorsque le réglage de la valeur alpha à 0.
Quelqu'un at-il avez-vous eu l'occasion de travailler sur le Compact Framework?
CE 6.0 * supporte * le mélange alpha. Il se peut que votre système d'exploitation spécifique ne le soit pas, mais le support se trouve dans le système d'exploitation et peut être inclus dans une image de système d'exploitation. – ctacke