#1 2005-12-14 16:05:59

mxrider
Membre
2005-11-21
34

Diaporama

En mode diaporama, lorsque la page de l'image suivante s'affiche, l'image n'est pas encore chargée, cela entraine donc, suivant le poids de l'image, que l'image s'affiche petit à petit et c'est seulement lorsque l'image est chargée que le temporisation commence.
Ce que j'aimerais (si toutefois c'est possible) c'est que l'image se télécharge du site en arrière plan et lorsqu'elle est chargée et que la temporisation est finie, l'image suivante peut alors s'afficher.

Je n'ai aucune idée de comment faire, j'ai l'impression que ce n'est pas facile mais peut-être qu' à vous ca vous parait réalisable.

Merci de votre aide et de vos remarques

mxrider

Hors ligne

#2 2005-12-18 08:27:17

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Diaporama

// slideshow_period : temps d'attente en secondes entre 2 pages lors du
// diaporama automatique
$conf['slideshow_period'] = 4;

Il est indispensable que tout le mode prenne 5 ou 10 minutes pour lire ou relire la page Configuration du Wiki.

Il faut vérifier quels sont les paramètres à disposition du webmaster.
Et s'assurer d'avoir compris la différence entre
include/config_default.inc.php et include/config_local.inc.php

Prennez ce temps, relisez cette page. Tout le monde va économiser du temps.

mxrider a écrit:

En mode diaporama, lorsque la page de l'image suivante s'affiche, l'image n'est pas encore chargée, cela entraine donc, suivant le poids de l'image, que l'image s'affiche petit à petit et c'est seulement lorsque l'image est chargée que le temporisation commence.
Ce que j'aimerais (si toutefois c'est possible) c'est que l'image se télécharge du site en arrière plan et lorsqu'elle est chargée et que la temporisation est finie, l'image suivante peut alors s'afficher.

Ceci ce n'est pas encore possible et ce n'est pas du à PWG, la communication Browsers/Servers ne fonctionne qu'en une demande-> une réponse. Le Streaming permet de faire ça mais c'est pour de la vidéo...


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#3 2005-12-20 02:12:17

noiry
Membre
2005-09-23
62

Re: Diaporama

ne serait il pas possible de jouer avec les caches des navigateurs ?

Exemple:

En mode diaporama, afficher n'importe où l'image suivante en la tronquant 1px * 1px.
Ainsi, elle est chargé en cache. En toute logique, lorsque la page est finie d'etre chargée (et donc l'image suivante) PWG passe à l'image suivante après le temps défini (c'est du standard, il n'y a rien a faire).
La page suivante devrait s'affiché plus rapidement puisque l'image a déjà été chargée...

Qu'en pensez vous ?

Une autre idée, qui me vient, serait, plutot que d'afficher l'image suivante en 1x1 de la charger en taille réelle à la place de sa mignature (bien evidement redimensionner à la bonne taille...)

A suivre...

Hors ligne

#4 2005-12-20 08:49:18

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Diaporama

Pas bête du tout ça... effectivement.
On passe en discussion? Tu ouvres le topic?


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#5 2005-12-20 13:44:07

noiry
Membre
2005-09-23
62

Re: Diaporama

Je n'ai malheureusement pas trop le temps d'ouvrir un sujet la dessus, mais j'ai un début de MOD qui marche très bien (l'image s'affiche instantanement) :

Code:

##############################################################################
## MOD Title: DiaporamaCash                                                  #
## MOD Author: noiry <http://forum.phpwebgallery.net/profile.php?id=1545>    #
## MOD Description: SlideShow enhancement                                    #
##                                                                           #
## Installation Level: Beginer                                               #
## Installation Time: <10 Minutes                                            #
## Files To Edit: picture.php                                                #
##                template/yoga/picture.tpl
##############################################################################
## Author Notes: 
##
##    ### English ###
##
##    This MOD improves slideshows in PWG. It allows to pre-load the next image
##    during the display of the current image. 
##
##    Note: You will have to adapt each of your template to use this MOD in the 
##    same way the original template "yoga" has been modified 
##
##    ### Francais ###
##    
##    Ce MOD améliore les diaporamas en utilisant le cache des navigateurs Web
##    Il précharge la photo suivante pendant le visionnage de la photo courante.
##    Ainsi, l'image suivante est chargée instantanement.
##
##    Note: Il vous faudra modifier chacun de vos templates pour utiliser ce 
##    MOD de la même façon que le template original "yoga" a été modifié
##
############################################################## 
## MOD History: 
## 
##   2005-12-22 - Version 1.0
##      - Initial Release
##      - PWG 1.5.1 compliant
## 
############################################################## 
## Before Adding This MOD To Your PWG, You Should Back Up All Files Related To This MOD 
############################################################## 

#
#-----[ OPEN ]----------------------------------------------------------------
#
picture.php
#
#-----[ FIND ]----------------------------------------------------------------
#
if ($has_next)
{
  $template->assign_block_vars(
    'next',
    array(
      'TITLE_IMG' => $picture['next']['name'],
      'IMG' => $picture['next']['thumbnail'],
      'U_IMG' => add_session_id($picture['next']['url'])
      ));
}

#
#-----[ REPLACE WITH ]------------------------------------------ 
#
if ($has_next)
{
  $thumb_size = @getimagesize($picture['next']['thumbnail']);
  $thumb_width = $thumb_size[0];
  $thumb_height = $thumb_size[1];
  if ( isset( $_GET['slideshow'] ) AND ($picture['next']['is_picture']))
  {
  $template->assign_block_vars(
    'next',
    array(
      'TITLE_IMG' => $picture['next']['name'],
      'IMG' => $picture['next']['src'],
      'U_IMG' => add_session_id($picture['next']['url']),
      'WIDTH_THUMB'=>($thumb_width),
      'HEIGHT_THUMB'=>($thumb_height)
      ));
  }
  else
  {
  $template->assign_block_vars(
    'next',
    array(
      'TITLE_IMG' => $picture['next']['name'],
      'IMG' => $picture['next']['thumbnail'],
      'U_IMG' => add_session_id($picture['next']['url']),
      'WIDTH_THUMB'=>($thumb_width),
      'HEIGHT_THUMB'=>($thumb_height)
      ));
  }
}


#-----[ OPEN ]----------------------------------------------------------------
#
template/yoga/picture.tpl
#
#-----[ FIND ]----------------------------------------------------------------
#
<img src="{next.IMG}" class="thumbLink" id="linkNext" alt="{next.TITLE_IMG}">
#
#-----[ REPLACE WITH ]------------------------------------------------
#
<img src="{next.IMG}" class="thumbLink" id="linkNext" alt="{next.TITLE_IMG}" WIDTH="{next.WIDTH_THUMB}" HEIGHT="{next.HEIGHT_THUMB}">
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------------
#
# EoM

En gros, ca change l'image NEXT uniquement en mode diapo. Au lieu d'afficher thumbnail/TN-xxx.jpg on affiche xxx.jpg

Problème (je m'en remets à vous par manque de temps), l'image s'affiche dans sa taille originelle, il faut donc modifier picture.tpl pour la redimensionner au format thumbnail.

Je vous laisse jeter un oeil et pars en vacances. Suite dans 2 semaines...

Bon courage et bonnes fetes

Dernière modification par noiry (2005-12-22 10:34:49)

Hors ligne

#6 2005-12-22 02:09:28

noiry
Membre
2005-09-23
62

Re: Diaporama

Done !!!

j'ai pris le temps de finir le MOD et de le poster dans l'extensions manager.
C'est une bonne amélioration du diaporama... Manque plus que les photos plein ecran... :)
Merci mxrider pour ton topic

Hors ligne

#7 2006-01-08 16:14:51

mxrider
Membre
2005-11-21
34

Re: Diaporama

Bonjour et merci beaucoup pour vos contributions à ce sujet.
Je trouve seulement que de voir s'afficher la miniature suivante lentement (puisque c'est l'image pleine définition) nuit à la beauté de l'affichage et comme l'a dit noiry:

En mode diaporama, afficher n'importe où l'image suivante en la tronquant 1px * 1px.

j'aimerais plutot afficher l'image en 1px * 1px, mais je n'arrive pas très bien à comprendre le code, je m'en remets donc à vous qui aurez plus de facilités, si vous avez le temps.

Merci encore
mxrider

Hors ligne

#8 2006-01-13 12:21:55

mxrider
Membre
2005-11-21
34

Re: Diaporama

Personne ne pense que cela serait mieux de ne pas voir la miniature qui s'affiche lentement?

Hors ligne

#9 2006-01-13 12:43:51

flipflip
Membre
Lyon
2005-03-19
2316

Re: Diaporama

Non pas vraiment, je vois pas ce que cela peut apporter au visiteur, il va se dire "en un site qui rame !". A la limite il vaudrait mieux des effets de transition, il me semble avoir vu un poste qui en parlait mais pas moyen de remettre la main dessus :(

Je ne sais pas trop comment fonctionne les diaporamas (j'utilise pas la fonction), mais peut être avec ça http://wiki.media-box.net/tutoriaux/htm … transition ou peu obtenir un résultat sympa.

Dernière modification par flipflip (2006-01-13 12:51:26)


Le cerveau à des capacités tellement étonnantes qu’aujourd’hui pratiquement tout le monde en à un

Mon site : http://www.blogoflip.fr

Hors ligne

#10 2006-05-23 02:16:45

repié38
Invité

Re: Diaporama

je suis ok avec mxrider, pourquoi ne pas profiter de ce tres bon script pleinement ?
pourquoi ne pas laisser les vignettes ou elle sont, sans remplacer la prochaine, et de charger l'image grande taille suivant sans la montrer
(dans une div invisible ou autre) ?

#11 2006-05-23 05:22:14

repie38
Former Piwigo Team
grenoble
2006-05-23
678

Re: Diaporama

je me suis plongé sur ma propre suggestion :
dans picture.php

Code:

if ($has_prev)
{
  $template->assign_block_vars(
    'previous',
    array(
      'TITLE_IMG' => $picture['prev']['name'],
      'IMG' => $picture['prev']['thumbnail'],
      'U_IMG' => add_session_id($picture['prev']['url'])
      ));
}

if ($has_next)
{
  $thumb_size = @getimagesize($picture['next']['thumbnail']);
  $thumb_width = $thumb_size[0];
  $thumb_height = $thumb_size[1];
  if ( isset( $_GET['slideshow'] ) AND ($picture['next']['is_picture']))
  {
  $template->assign_block_vars(
    'next',
    array(
      'TITLE_IMG' => $picture['next']['name'],
      'IMG' => $picture['next']['thumbnail'],
      'PRECHARGE_SUIVANTE' => $picture['next']['src'],
      'U_IMG' => add_session_id($picture['next']['url']),
      'WIDTH_THUMB'=>($thumb_width),
      'HEIGHT_THUMB'=>($thumb_height)
      ));
  }
  else
  {
  $template->assign_block_vars(
    'next',
    array(
      'TITLE_IMG' => $picture['next']['name'],
      'IMG' => $picture['next']['thumbnail'],
      'U_IMG' => add_session_id($picture['next']['url']),
      'WIDTH_THUMB'=>($thumb_width),
      'HEIGHT_THUMB'=>($thumb_height)
      ));
  }
}

(ajout de la ligne :   'PRECHARGE_SUIVANTE' => $picture['next']['src'], )
(et modification de la ligne précédente en 'IMG' => $picture['next']['thumbnail'],    a la place de  'IMG' => $picture['next']['src'],)



puis dans picture.tpl,

Code:

<!-- BEGIN next -->
<div id="thumbnailbackpict">

<!-- BEGIN essai repié -->
<div id="test_repie" style="display:none"><img src="{next.PRECHARGE_SUIVANTE}" height="10" width="10"></div>
<!-- END essai repié -->

<a class="navThumb" id="thumbNext" href="{next.U_IMG}" title="{L_NEXT_IMG}{next.TITLE_IMG}">
<img src="{next.IMG}" OnLoad="if (this.width > 150) {this.width=150} else if (this.height >150) {this.height=150}" class="thumbLink" id="linkNext" alt="{next.TITLE_IMG}" >
</a>
</div>
<!-- END next -->

(ajout de  <div id="test_repie" style="display:none"><img src="{next.PRECHARGE_SUIVANTE}" height="10" width="10"></div> )
(et suppression de WIDTH="{next.WIDTH_THUMB}" HEIGHT="{next.HEIGHT_THUMB}"  dans la derniere balise img)


petite precision :

Code:

OnLoad="if (this.width > 150) {this.width=150} else if (this.height >150) {this.height=150}"

cette partie viens du template jillij. ne pas le rajouter sur les autres templates.



je sais, c'est un peu tout laid comme adaptation, en meme temps il est 5h30 du mat ...

en tout cas, pour moi ca marche.
en mode diaporama, l'image suivante se charge en arrière plan (comme voulu dans le mod), mais la vignette qui represente l'image suivante reste une vignette, et donc se charge tres vite.

pour ce qui est de 'PRECHARGE_SUIVANTE'  et  div id="test_repie", j'imagine qu'il vaudrait mieux integrer cela d'une autre maniere ... (plus propre en tout cas)


j'espere que je suis dans le bon sujet ... et que ce que je viens de faire pourra etre utile
en tout cas j'en profite pour feliciter les membres de ce projet !

Dernière modification par repié38 (2006-07-19 12:48:31)

Hors ligne

#12 2006-05-31 21:39:35

Mael
Membre
2005-12-21
271

Re: Diaporama

Moi j'ai testé en 1.5.2 et ça fonctionne pas!!

Hors ligne

#13 2006-06-01 13:57:37

repie38
Former Piwigo Team
grenoble
2006-05-23
678

Re: Diaporama

ah ?
pourtant je suis moi aussi en 1.5.2 avec le template jillij.
j'essai de jeter un oeil ce soir ;)

Hors ligne

#14 2006-06-01 18:18:19

bisounours
Membre
Lausanne/Suisse
2002-09-09
105

Re: Diaporama

Bonjour,

Je profite de poster ici une question, bien que ce soit pas identique aux questions ci-dessus, mais ça s'adresse aussi au diaporama.

une question, qui m'a souvent été posée par des visiteurs fidèles de notre site : Ils trouvent domage de devoir "scroller" la page pour voire l'image en entier.
Les images faisant "que" 800 x 600, je pense pas judicieux de les metttre plus petites. L'en-tête du site prend un peu de place et décale de ce fait un peu la photo. Lorsqu'on les regarde une à une c'est pas trop un problème, car la personne va descendre pour voire les infos de la photo.
En mode diaporama, ce qui compte c'est de voire les photos à la suite, sans lire tous les détails.

Il faudrait que la page ou est incluse la photo soit différente et n'inclue pas l'en-tête, ou alors que la page soit positionnée directement sur le haut de la photo dans le navigateur. Il existe des signets en html qui permettent de se positionner à un endroit précis sur une page. Existe-t-il une possibilité d'en faire de même sur une page php ?

J'espère pas avoir été trop lourd dans mes explications..... si oui, n'hésitez pas à me le dire.

Bonne fin de semaine à tous
Christophe

Hors ligne

#15 2006-06-01 19:24:47

repie38
Former Piwigo Team
grenoble
2006-05-23
678

Re: Diaporama

je crois avoir trouvé !
dans picture.php,
il faut modifier la ligne precedent celle qui a été rajoutée :

'IMG' => $picture['next']['thumbnail'],    a la place de  'IMG' => $picture['next']['src'],

dans picture.tpl :
supprimer WIDTH="{next.WIDTH_THUMB}" HEIGHT="{next.HEIGHT_THUMB}"



les modif était deja dans le code que j'avais mis, mais je ne l'avais pas spécifié.
j'edite de ce pas le post precedent ;)
(et j'espere n'avoir rien oublier ...)

Dernière modification par repié38 (2006-06-01 19:33:13)

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact