CLASSE CPALETTE POUR GERER LES PALETTES DE COULEURS 8 BITS (256 COULEURS)

shadowmoy Messages postés 340 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 25 août 2007 - 28 déc. 2003 à 01:48
shadowmoy Messages postés 340 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 25 août 2007 - 28 déc. 2003 à 19:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19028-classe-cpalette-pour-gerer-les-palettes-de-couleurs-8-bits-256-couleurs

shadowmoy Messages postés 340 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 25 août 2007
28 déc. 2003 à 19:21
hum le hic pour les properties c'est que l'on ne pas leurs passer deux params ou sinon il faut remplacer ses deux params par une type
genre comment remplacer ca par une property ? :

Public Function Get_Blue(Index As Integer) As Byte ' la pas de pb
Get_Blue = Palette(Index).Blue
End Function

Public Sub Set_Blue(Index As Integer, Value As Integer) ' ici pb
Palette(Index).Blue = CByte(Value)
End Sub

ensuite le but de la source et de remplacer un tableau et d'ajouter des fonctions utiles pour les palettes de couleur
exemple

Dim Pal(255) as PaletteEntry par un simple
Dim Pal as CPal

dans le code au lieu de faire des truc comme

Pal(i).red =100
Pal(i).green=100
Pal(i).Blue=100


tu fait :

Pal.SetPaletteEntryRGB(i,100,100,100)

ca simplifie le code principal en gros et reduit la taille du code

pour ce qui est de mon exemple certes il n'est pas tres explicite
mais il montre simplement comment changer la couleur du tableau
selon plusieurs types de données :

Pal.SetPaletteEntryLong index, Color
'on passe une couleur ole (un long)
ou

'on passe des params distincts
Pal.SetPaletteEntryRGB index, Red,Green, Blue, flags
ou


'on passe une structure de type PaletteEntry
Dim pe as PALETTEENTRY

pe.Red = 200
pe.Green = 100
pe.Blue = 200
pe.Flags = 0

Pal.SetPaletteEntryPE index, VarPtr(pe)


mon exemple montre aussi comment copier une palette dans une autre, comment la charger/sauver depuis un fichier palette,etc ...

ca me seras utiles pour mon petit projet de type starcraft donc si ca peut servir a d'autres on sait jamais puis on peut imaginer des utilitées pour par exemple ajouter des fonction du style lire la palette d'un bitmap,d'un pcx,d'un gif ,d'un fichier texte (paintshop pro), etc ..
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 déc. 2003 à 03:02
suggestions surement, puisque ton code, bien que commenté (tantot en anglais, tantot en francais...) n'est absolument pas explicite.
Pour faire simple, je ne comprends pas franchement le but de ta source, ou plutot , la form de demonstration n'est pas franchement top : rien ne semble réagir !!!!

Tu pourrais utiliser des propriétés dans ta classes, plutôt que d'avoir sans cesse des GetRed / SetRed , GetBlue / SetB........
A par ca, le code semble correct....
shadowmoy Messages postés 340 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 25 août 2007
28 déc. 2003 à 01:48
si vous avez des suggestions dites le moi :p (ne ce pas Renfeild ^^)
Rejoignez-nous