JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Nouvelles fonctions du 28/12 Lun 28 Déc 2009 - 22:40 | |
| Utilisation de quelques unes des nouvelles fonctions de la version du jour (Spin, Brightness, Contrast, Gamma, Number_Objects) pour une tentative de modification des images bmp. Comme d'habitude, il faut remplacer les fichiers et leurs chemins d'accès. - Code:
-
error_french dim a$, f$ dim xc, yc, lc, hc, xce, yce, ang, r dim iv$, fm$, fr$, finfo$, w, h, wi, hi, k dim lum, con, gam, lp, cp, gp dim we, he, ratio, yt1, yt2, yt3 dim pic1, pic2, spl, spc, spg, all, alc, alg, nb1, nb2, ald Label sortie, Dimimg, dll, rt, Reinit xc = 150: yc = 100: lc = 150: hc = int(lc*9/7)
f$ = "C:\Graph\Jpg\Rafale.jpg" finfo$ = "Z:\infos.txt" iv$ = "C:\Progra~1\Irfanv~1\i_view32.exe "
we = 850: ' largeur fenêtre d'exécution Gosub Dimimg wi = INT((we-50)/2): hi = int(wi/ratio) Width 0, we: Height 0, hi+180 ' Pictures pic1 = Number_Objects + 1 PICTURE pic1: LEFT pic1, 10: TOP pic1, 10:WIDTH pic1, wi: HEIGHT pic1, hi pic2 = Number_Objects + 1 PICTURE pic2: WIDTH pic2, wi: TOP pic2, 10: HEIGHT pic2, hi: LEFT pic2, wi + 25 ' Spins yt1 = hi + 30: yt2 = yt1 + 30: yt3 = yt2 + 30 all = Number_Objects + 1 alpha all: top all, yt1: left all, 30: width all, 90: height all, 24: Caption all, "Luminosité" spl =Number_Objects + 1 SPIN spl: top spl, yt1: left spl, 100: width spl, 60: min spl, -128: max spl, 127 height spl, 24 alc = Number_Objects + 1 alpha alc: top alc, yt2: left alc, 30: width alc, 90: height alc, 24: Caption alc, "Contraste" spc = Number_Objects + 1 SPIN spc: top spc, yt2: left spc, 100: width spc, 60: min spc, -128: max spc, 127 height spc, 24 alg = Number_Objects + 1 alpha alg: top alg, yt3: left alg,30: width alg, 90: height alg, 24: Caption alg, "Gamma" spg = Number_Objects + 1 SPIN spg: top spg, yt3: left spg, 100: width spg, 60: min spg, -128: max spg, 127 height spg, 24 ' Boutons nb1 = Number_Objects + 1 Button nb1: top nb1, yt1: left nb1, 200: width nb1, 100: Caption nb1, "Réinit" nb2 = Number_Objects + 1 Button nb2: top nb2, yt3: left nb2, 200: width nb2, 100: Caption nb2, "Quitter"
lum = 0: con = 0: gam = 0 lp = 0: cp = 0: gp = 0
FILE_LOAD pic1, f$: ' affichage de l'image principale FILE_LOAD pic2, f$ stretch_on pic1: stretch_on pic2
ald = Number_Objects + 1 alpha ald: top ald, hi+15: left ald, wi+40 a$ = "Image d'origine: " + str$(w) + " x " + str$(h): Caption ald, a$
rt: lum = position(spl): con = position(spc): gam = position(spg) if lum<>lp or con<>cp or gam<>gp if lum<>lp then Brightness pic1, lum if con<>cp then Contrast pic1, con if gam<>gp then Gamma pic1, gam lp= lum: cp = con: gp = gam end_if wait 30 if clicked(nb1) = 1 then Gosub Reinit if clicked(nb2) = 1 then goto sortie goto rt End sortie: Terminate
Reinit: FILE_LOAD pic1, f$ Return
Dimimg: EXECUTE_WAIT iv$ + f$ + " /info=" + finfo$ File_Open_Read 2, finfo$ dll: File_Readln 2, a$: IF left$(a$, 5)<>"Image" then goto dll a$ = trim$(mid$(a$, 19, len(a$)-18)) k = instr(a$, "x") w = Val(Left$(a$, k-1)) a$ = trim$(mid$(a$, k+1, len(a$)-k)) k = instr(a$, " ") h = Val(Left$(a$, k-1)) File_Close 2 ratio = w/h return Une remarque, entre autres: si on augmente par exemple la luminosité de l'image de 0 (valeur de base) à 10, et qu'on la redescend ensuite de 10 à 0, on ne retrouve pas du tout l'image d'origine. Idem pour le contraste et le gamma. | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Nouvelles fonctions du 28/12 Mar 29 Déc 2009 - 16:00 | |
| Qu'est ce que tu n'as pas compris ? c'est très simple, il s'agit de faire varier la luminosité, le contraste ou le gamma d'une image, rien de plus subtil que ça. | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Nouvelles fonctions du 28/12 Mar 29 Déc 2009 - 21:35 | |
| Comme j'ai dit, il faut mettre dans f$ un fichier qui existe chez toi, et dans finfo$ un chemin qui existe également (par exemple c:\temp\fich.txt...) | |
|