Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Problème color et color_pixel_xxx dans un picture Mar 2 Mar 2010 - 9:14 | |
| Bonjour, J'ai découvert que la couleur voulue et demandée par color sur un picture ne correspond que rarement à la couleur réelle obtenue et restituée par les fonctions color_pixel. Et le changement d'une des composantes entraîne même le changement implicite des autres composantes. Voici un petit programme permettant de visualiser immédiatement cet effet: - Code:
-
label change_R, change_R1 label change_G, change_G1 label change_B, change_B1
dim v%
width 0,800 height 0,400
alpha 101 top 101,35 left 101,470 caption 101,"Couleur voulue"
alpha 102 top 102,35 left 102,600 caption 102,"Couleur obtenue"
alpha 1 top 1,55 left 1,10 caption 1,"R"
track_bar 2 top 2,50 left 2,40 width 2,402 horizontal 2 min 2,0 max 2,255 position 2,0 on_change 2,change_R
edit 3 top 3,55 left 3,470 on_change 3,change_R1
edit 4 top 4,55 left 4,600
alpha 11 top 11,85 left 11,10 caption 11,"G"
track_bar 12 top 12,80 left 12,40 width 12,402 horizontal 12 min 12,0 max 12,255 position 12,0 on_change 12,change_G
edit 13 top 13,85 left 13,470 on_change 13,change_G1
edit 14 top 14,85 left 14,600
alpha 21 top 21,115 left 21,10 caption 21,"B"
track_bar 22 top 22,110 left 22,40 width 22,402 horizontal 22 min 22,0 max 22,255 position 22,0 on_change 22,change_B
edit 23 top 23,115 left 23,470 on_change 23,change_B1
edit 24 top 24,115 left 24,600
picture 5 top 5,150 left 5,150 color 5,0,0,0
end
change_R: text 3,str$(position(2)) color 5,position(2),position(12),position(12) text 4,color_pixel_red(5,10,10) text 14,color_pixel_green(5,10,10) text 24,color_pixel_blue(5,10,10) return change_R1: if numeric(text$(3))=1 v% = val(text$(3)) if v%>=0 and v%<256 then position 2,val(text$(3)) end_if return
change_G: text 13,str$(position(12)) color 5,position(2),position(12),position(12) text 4,color_pixel_red(5,10,10) text 14,color_pixel_green(5,10,10) text 24,color_pixel_blue(5,10,10) return change_G1: if numeric(text$(13))=1 v% = val(text$(13)) if v%>=0 and v%<256 then position 12,val(text$(13)) end_if return
change_B: text 23,str$(position(22)) color 5,position(2),position(12),position(12) text 4,color_pixel_red(5,10,10) text 14,color_pixel_green(5,10,10) text 24,color_pixel_blue(5,10,10) return change_B1: if numeric(text$(23))=1 v% = val(text$(23)) if v%>=0 and v%<256 then position 22,val(text$(23)) end_if return
Est-ce que c'est normal ? Et si oui, pourquoi ? Qu'est-ce qu'i explique cela ? Je sais bien que 256x256x256 = 1.677.716 couleurs possibles, et probablement, toutes ces nuances ne sont pas physiquement réalisables sur un écran. Mais pourquoi les modifier dans l'objet, au lieu de simplement changer cela à l'affichage ? | |
|