J' ai supprimé l' option monochrome . Donc c' est monochrome .
Cela permet de n' effectuer les calculs sur un seul canal ( ici le rouge ) et de recopier cette valeur dans vert et bleu .
Il risque d' y avoir des soucis si une partie de l' image à été gommée car l' instruction Conv(....) affecte ce canal qui sera donc flouté .
Pour eviter ça , ajouter apres if (loop==1}(
l' instruction t2=T; (on copie la transparence )
et a la fin du programme avant la fermeture de l' accolade
l' instruction T=t2; qui rétabli la transparence
Fenetre Gauche:
- Code: Tout sélectionner
coord=0;
?pc,Centre Contraste,1,254,127;
?pr,Pre Contraste,0,100,0;
?pourcent,Lumiere générale,0,4000,2560;
?ef,Force,0,20,9;
?cont,Contraste,0,100,0;
pourcent=pourcent/10;
pourcent=pourcent+1;
cont=cont/100;
ef=20-ef;
SetMatrix5(1,
0,1,1,1,0, 1,1,1,1,1,
1,1,ef,1,1, 1,1,1,1,1,
0,1,1,1,0, 1/(20+ef));
pr=pr/100;
pl=pl/100;
if ( pr > 0 ){loop=2;}
Fenetre droite :
- Code: Tout sélectionner
if( loop==2){
HLS(R,G,B);
S=0;
RGB(H,L,S);
R=R+(pr*(R-pc));
G=R;B=R;
}
if (loop==1){
r2=R;
Conv(1,x,y);
R=((r2*pourcent)/R);
R=R+(cont*(R-127));
G=R;B=R;
}
_____________________________________________________
Tant qu' a faire , j' ai aussi modifié le script contour_hsl2
J' ai gardé la partie réduction de couleur de ce script et oté le partie contour qui devient de fait inutile ( le script plus haut et bien mieux pour cela )
Fenetre gauche :
- Code: Tout sélectionner
coord=0;
?re,Reduire,2,12,4;
?sat,Saturation,-100,100,0;
?lum,Luminosité,-100,100,0;
pla=int(256)/re;
sat=sat/100;
lum=lum/100;
fenetre droite:
- Code: Tout sélectionner
HLS(R,G,B);
L=int(L/pla)*pla+pla;
L=L+(L*lum);
S=S+(S*sat);
RGB(H,L,S);
____________________________________________
un script de luminosité contraste
Comme ça , on peut peindre en l' utilisant
Gauche:
- Code: Tout sélectionner
coord=0;
?lum,Luminosité,-100,100,0;
?cont,Contraste,-100,100,0;
?med,Centre Contraste,0,255,127;
lum=lum/100;
cont=cont/100;
Droite
- Code: Tout sélectionner
R=R*(1+lum);
G=G*(1+lum);
B=B*(1+lum);
R=R+(cont*(R-med));
G=G+(cont*(G-med));
B=B+(cont*(B-med));
C' est pas compliqué à installer .
Quelques petites choses à finir et je refait un pack gonta
Vu le bazard dans mes scripts , y' a du boulot
@+ Eric