Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [VB.NET 2003] qualité couleur écran [ Windows / Formulaire / Winforms / Controls ] (morickno)

jeudi 8 février 2007 à 12:57:06 | [VB.NET 2003] qualité couleur écran

morickno

Bonjour,

Je cherche comment connaitre la qualité couleur de l'écran. Si elle est paramétré en 32bit ou en 256 couleurs par exemple,

Quelqu'un à t'il une idée.

Merci

A+

jeudi 8 février 2007 à 13:10:00 | Re : [VB.NET 2003] qualité couleur écran

jmfmarques

Membre Club
Il te suffit pour celà d'utiliser la fonction EnumDisplaySettings de la librairie user32 de l'Api de Windows, et, dans la structure :

Private Type DEVMODE
    dmDeviceName As String * CCDEVICENAME
    dmSpecVersion As Integer
    dmDriverVersion As Integer
    dmSize As Integer
    dmDriverExtra As Integer
    dmFields As Long
    dmOrientation As Integer
    dmPaperSize As Integer
    dmPaperLength As Integer
    dmPaperWidth As Integer
    dmScale As Integer
    dmCopies As Integer
    dmDefaultSource As Integer
    dmPrintQuality As Integer
    dmColor As Integer
    dmDuplex As Integer
    dmYResolution As Integer
    dmTTOption As Integer
    dmCollate As Integer
    dmFormName As String * CCFORMNAME
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
End Type
aller à la pêche de dmBitsPerPel (qui est la profondeur en cours des couleurs d'affichage)

jeudi 8 février 2007 à 13:20:46 | Re : [VB.NET 2003] qualité couleur écran

morickno

Je ne vois pas trops comment utiliser ce que tu explique et j'ai l'impression que ce n'est pas du VB.Net.

Peu tu détaiiler stp

Merci

jeudi 8 février 2007 à 13:33:06 | Re : [VB.NET 2003] qualité couleur écran

casy

Membre Club
Dim ecrans() As System.Windows.Forms.Screen = System.Windows.Forms.Screen.AllScreens
Dim upEcran As Integer

upEcran = ecrans.GetUpperBound(0)
For i As Integer = 0 To upEcran
    MessageBox.Show(ecrans(i).BitsPerPixel.ToString)
Next

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #

jeudi 8 février 2007 à 13:45:09 | Re : [VB.NET 2003] qualité couleur écran

jmfmarques

Membre Club
ce que j'ai écrit, morickno, n'est ni du VB ni du VB.net, mais tout simplement le rappel de l'existence d'une fonction de l'Api de Windows, fonction utilisable quel que soit le langage de développement utilisé.......

jeudi 8 février 2007 à 15:12:36 | Re : [VB.NET 2003] qualité couleur écran

morickno

J'ai réussis à utiliser cette exemple mais il me retourne systematiquement la même valeur pour dmBitsPerPel. Faut t'il initialiser quelque chose (DEVMODE) pour prendre en compte l'écran actif.

jeudi 8 février 2007 à 18:13:24 | Re : [VB.NET 2003] qualité couleur écran

jmfmarques

Membre Club
Je ne comprends pas ce que tu veux dire par "il me retourne systématiquement la même valeut" ....

La valeur retournée est celle que tu définis dans les paramètres de Windows (156 couleurs ou couleurs 16 bits ou couleur 32 bits) et ne change certes pas tant que ces paramètres ne sont pas changés !

ce bout de code marche parfaitement chez moi.
Voilà sous VB6 (adapte à VB.Net)

Option Explicit
Const ENUM_CURRENT_SETTINGS As Long = -1&
Const CCDEVICENAME = 32
Const CCFORMNAME = 32
Private Type DEVMODE
    dmDeviceName As String * CCDEVICENAME
    dmSpecVersion As Integer
    dmDriverVersion As Integer
    dmSize As Integer
    dmDriverExtra As Integer
    dmFields As Long
    dmOrientation As Integer
    dmPaperSize As Integer
    dmPaperLength As Integer
    dmPaperWidth As Integer
    dmScale As Integer
    dmCopies As Integer
    dmDefaultSource As Integer
    dmPrintQuality As Integer
    dmColor As Integer
    dmDuplex As Integer
    dmYResolution As Integer
    dmTTOption As Integer
    dmCollate As Integer
    dmFormName As String * CCFORMNAME
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
End Type
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpmondeviceode As Any) As Boolean
Private Sub Form_Load()
    Dim mondevice As DEVMODE
    Call EnumDisplaySettings(0&, ENUM_CURRENT_SETTINGS, mondevice)
    MsgBox mondevice.dmBitsPerPel & " bits par pixel"
End Sub



Cette discussion est classé dans : net, vb, couleur, écran, qualité


Répondre à ce message

Sujets en rapport avec ce message

Couleur en VB.Net [ par Francks11 ] Bonjour,j'aimerai savoir comment on met un mot d'un rich text box en couleur, par exemple en couleur rouge??merci VB.NET et curseur couleur ! [ par Papin38 ] Salut à tous !Quelqu'un pourrait-il me rassurer..NET est-il capable d'avoir des curseurs souris en couleur ?Si oui, c'est quoi a ruse ?Merci pour vos VB.Net Changer la couleur d'un textbox [ par JeffC1977 ] Salut...J'aimerais seulement savoir comment fait-on pour changer la couleur d'un textbox en VB.NetDans mon exemple, je l'ai codé comme si j'étais en V Progressbar avec vb.net [ par gabberbaby ] Bonjour à tous,Je dois faire un projet pour l'école mais je bloque sur un petit détail que la prof impose.Je dois changer la couleur d'une barre de pr Détecter une couleur sur l'écran [ par Deagle ] Salut...Je ne sais pas si ce que je veux faire ce fait sous VB. Bon :) J'aimerais faire un programme qui detecte une couleur particuliere sur l'écran [VB.Net] Remplacer une couleur par une autre dans un Bitmap [ par lume ] Tout est dans le titre :)=Ce bitmap est collé ensuite dans une imageBox selon des coordonnées et un angle spécifique, donc au pire si vous savez rempl changer la couleur d'un progressBar en vb.net [ par michaelrigali ] Comment puis-je faire pour changer la couleur de mon progressBar que j'utilise en vb.net???Merci d'avance.Ps: je suis étudiant et je fais mon stage en Capture d'une partie de l'écran en vb.net ? [ par doppel2000 ] Comment faire pour réaliser une capture d'une partie de l'écran et mettre le résultat dans une picturebox ou un fichier .bmp ? J'ai essayé avec Bitblt position sur l'écran [ par zelze ] J'ai une question trés con...Voila: Comment change-t-on la postion du programme sur l'écran avec VB.net?En VB 6.0 il y avait un écran où positionner l Couleur .Net [ par dragon ] j'ai une base de donnée acces qui contient des couleru en mode long (&H4620980 ou 4620980)en VB.Net faut les transformer avec System.Drawing.ColorTran


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.