shadowmoy
Messages postés340Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention25 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
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és17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és340Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention25 août 2007 28 déc. 2003 à 01:48
si vous avez des suggestions dites le moi :p (ne ce pas Renfeild ^^)
28 déc. 2003 à 19:21
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 ..
28 déc. 2003 à 03:02
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....
28 déc. 2003 à 01:48