Yep !
et le test sert à quoi, alors ?
EDIT : je l'ai eu !
Ce test doit être du code Delphi, qui doit se comporter autrement que Lazarus (je l'ai montré hier soir tard avec ma manip en deux temps), alors j'ai retenté le coup et là, ça fonctionne as expected !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function Has32BitImageAlpha(NumPixels: LongInt; Data: PLongWord): Boolean; var I: LongInt; temp: integer; // jpt begin Result := False; for I := 0 to NumPixels - 1 do begin //jpt if Data^ >= 1 shl 24 then // 4291446024 (FFCA4508) avec argb, 3393521664 (CA450800) avec xrgb temp := Data^ shl 24; if temp >= 1 then begin Result := True; Exit; end; Inc(Data); end; end;
/EDIT
Mais ça c'est juste la détection xbgr (puisque par défaut Vampyre démarre en bgra), il faut ensuite faire le croisement des bytes tel qu'exprimé dans le devoir de vacances pour avoir le bel orange, don't forget that !
Il y a le fait qu'on peut avoir des dégradés magnifiques, alors que les 8 bits présentent très vite des effets de sauts d'une couleur à la suivante, voir page 78 de "La gestion des couleurs" par Jean Delmas, si vous êtes sages je ferai une photo de l'exemple, c'est assez impressionant.
On avait travaillé dessus avec Yves et peut-être d'autres il y a qq années, mais je ne le retrouve pas, l'outil de recherche est en vrac...
Partager