Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Un autre visionneur d'images Mar 24 Fév 2015 - 0:05 | |
| Voici, vite fait, un visionneur d'images qui me rend bien service. On choisit une image n'importe où, il l'affiche, mais garde en mémoire les noms de toutes les images de ce dossier. On peut ainsi aller en avant et arrière à sa guise. Et on peut basculer entre la taille réelle et la taille étirée plaine page. Ce programme a besoin de KGF.dll, car ke sais charger BMP, JPG, PNG et GIF. - Code:
-
' PictureViewer.bas
label open, fst_pic, prv_pic, nxt_pic, lst_pic, fit
dim KGF$ : KGF$ = "KGF.dll"
dim pic_index%, res%, path$, file$, pic_max%
if file_exists(KGF$)=0 message "Attention: KGF.dll not found:"+chr$(13)+chr$(10)+kgf$ terminate end_if
caption 0,"PictureViewer" full_space 0
picture 1 : full_space 1 : height 1,height(1) - 40 top 1,top(1) + 40 : stretch_on 1 picture 2 : width 2,width(1) : height 2,30 : top 2,5 : color 2,255,255,0
open_dialog 4 : filter 4,"Image files|*.bmp;*.jpg:*.png;*.gif" dlist 5 : sort_on 5
button 11 : top 11,7 : left 11,10 : caption 11,"Open" : on_click 11,open : font_bold 11 alpha 12 : top 12,10 : left 12,110 : caption 12,"0/0" : font_size 12,10
button 21 : width 21,30 : top 21,7 : left 21,160 : caption 21,"<<" : font_bold 21 on_click 21,fst_pic button 22 : width 22,30 : top 22,7 : left 22,190 : caption 22,"<" : font_bold 22 on_click 22,prv_pic button 23 : width 23,30 : top 23,7 : left 23,220 : caption 23,">" : font_bold 23 on_click 23,nxt_pic button 24 : width 24,30 : top 24,7 : left 24,250 : caption 24,">>" : font_bold 24 on_click 24,lst_pic check 31 : top 31,12 : left 31,300 : caption 31,"Fit to screen" : on_click 31,fit mark_on 31
dll_on KGF$
end
open: open_file() return fit: if checked(31)=1 stretch_on 1 else stretch_off 1 end_if return sub open_file() dim_local f$, defdir$, i% dim_local ext$ : ext$ = "*.bmp;*.jpg:*.png;*.gif" clear 5 pic_index% = 0 pic_max% = 0 defdir$ = dir_current$ f$ = file_name$(4) if f$="_" then return path$ = file_extract_path$(f$) file$ = file_extract_name$(f$) dir_change left$(path$,len(path$)-1) f$ = file_find_first$ while f$<>"_" if left$(f$,1)<>"." if instr(ext$,right$(f$,4))>0 then item_add 5,f$ end_if f$ = file_find_next$ end_while file_find_close dir_change defdir$ if count(5)>0 for i%=1 to count(5) if item_read$(5,i%)=file$ pic_index% = i% exit_for end_if next i% end_if
res% = dll_call1("LoadAnyImageFile",adr(file$)) clipboard_paste 1 caption 0,"PictureViewer - " + item_read$(5,pic_index%) caption 12,str$(pic_index%)+"/"+str$(count(5)) pic_max% = count(5) end_sub fst_pic: if pic_max%=0 then return pic_index% = 1 file$ = path$ + item_read$(5,pic_index%) res% = dll_call1("LoadAnyImageFile",adr(file$)) clipboard_paste 1 caption 0,"PictureViewer - " + item_read$(5,pic_index%) caption 12,str$(pic_index%)+"/"+str$(count(5)) return prv_pic: if pic_index%<=1 then return pic_index% = pic_index% - 1 file$ = path$ + item_read$(5,pic_index%) res% = dll_call1("LoadAnyImageFile",adr(file$)) clipboard_paste 1 caption 0,"PictureViewer - " + item_read$(5,pic_index%) caption 12,str$(pic_index%)+"/"+str$(count(5)) return
nxt_pic: if pic_index%>=pic_max% then return pic_index% = pic_index% + 1 file$ = path$ + item_read$(5,pic_index%) res% = dll_call1("LoadAnyImageFile",adr(file$)) clipboard_paste 1 caption 0,"PictureViewer - " + item_read$(5,pic_index%) caption 12,str$(pic_index%)+"/"+str$(count(5)) return
lst_pic: if pic_index%>=pic_max% then return pic_index% = count(5) file$ = path$ + item_read$(5,pic_index%) res% = dll_call1("LoadAnyImageFile",adr(file$)) clipboard_paste 1 caption 0,"PictureViewer - " + item_read$(5,pic_index%) caption 12,str$(pic_index%)+"/"+str$(count(5)) return
Dernière édition par Klaus le Mar 24 Fév 2015 - 19:50, édité 1 fois | |
|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Un autre visionneur d'images Mar 24 Fév 2015 - 1:32 | |
| Il y a un problème si l'utilisateur clic sur annuler au lieu de choisir un fichier | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Un autre visionneur d'images Mar 24 Fév 2015 - 19:51 | |
| C'est corrigé... un "-" au lieu d'un "_". | |
|
Contenu sponsorisé
| Sujet: Re: Un autre visionneur d'images | |
| |
|