Classe cpalette pour gerer les palettes de couleurs 8 bits (256 couleurs)

Soyez le premier à donner votre avis sur cette source.

Vue 3 695 fois - Téléchargée 290 fois

Description

ben mattez un peu la classe vous verrez :)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

shadowmoy
Messages postés
340
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
25 août 2007
-
si vous avez des suggestions dites le moi :p (ne ce pas Renfeild ^^)
Renfield
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
56 -
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
-
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 ..

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.