IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Visionner un fichier .tif Multi-pages


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 14
    Par défaut Visionner un fichier .tif Multi-pages
    Bonjour !

    J'aimerais savoir la démarche, les méthodes a utiliser pour visionner dans une form un fichier .tif multi-pages.

    - Avec Imagebox j'arrive a afficher la premiere page

    - j'ai cru comprendre qu'on peux utiliser une listbox ou/et Imagebox

    Bref tout ça me parait bien flou. est-ce qu'une ou des âmes charitables pourraient me remettre sur le droit chemin ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Quelle techno ? WinForms, WPF, Silverlight?
    ImageBox ça n'existe pas... Tu parles peut-être de PictureBox ?

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Voilà un petit exemple qui change de page toutes les secondes :

    (en supposant que tu fais du Windows Forms)

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    using System;
    using System.Windows.Forms;
    using System.Drawing;
    using System.Drawing.Imaging;
     
    class Form1 : Form
    {
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.Run(new Form1());
        }
     
        PictureBox _pictureBox;
        Timer _timer;
        int _currentPage = 0;
     
        public Form1()
        {
            _pictureBox = new PictureBox();
            _pictureBox.Dock = DockStyle.Fill;
            _pictureBox.Image =  Image.FromFile(@"E:\tmp\bomb.tif");
            this.Controls.Add(_pictureBox);
     
            _timer = new Timer();
            _timer.Interval = 1000;
            _timer.Tick += _timer_Tick;
            _timer.Start();
        }
     
        void _timer_Tick(object sender, EventArgs e)
        {
            int pageCount = _pictureBox.Image.GetFrameCount(FrameDimension.Page);
            _currentPage = (_currentPage + 1) % pageCount;
            _pictureBox.Image.SelectActiveFrame(FrameDimension.Page, _currentPage);
            _pictureBox.Invalidate();
        }
    }
    En gros, les points importants sont les suivants :

    - la méthode GetFrameCount renvoie le nombre de frames pour une dimension donnée (en l'occurrence, les pages)
    - la méthode SelectActiveFrame permet de choisir une frame pour une dimension donnée
    - la méthode Invalidate rafraichit la PictureBox pour afficher la nouvelle page sélectionnée

  4. #4
    Nouveau candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Par défaut
    Bonsoir,
    Est ce que je peux avoir la correspondance en VB net de ce code ?? Et aussi si je ne veux pas utiliser de picture box ? quelle type de variable je pourrai creer dans laquelle stocker les images et les traiter apres ?



    Citation Envoyé par tomlev Voir le message
    Voilà un petit exemple qui change de page toutes les secondes :

    (en supposant que tu fais du Windows Forms)

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    using System;
    using System.Windows.Forms;
    using System.Drawing;
    using System.Drawing.Imaging;
     
    class Form1 : Form
    {
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.Run(new Form1());
        }
     
        PictureBox _pictureBox;
        Timer _timer;
        int _currentPage = 0;
     
        public Form1()
        {
            _pictureBox = new PictureBox();
            _pictureBox.Dock = DockStyle.Fill;
            _pictureBox.Image =  Image.FromFile(@"E:\tmp\bomb.tif");
            this.Controls.Add(_pictureBox);
     
            _timer = new Timer();
            _timer.Interval = 1000;
            _timer.Tick += _timer_Tick;
            _timer.Start();
        }
     
        void _timer_Tick(object sender, EventArgs e)
        {
            int pageCount = _pictureBox.Image.GetFrameCount(FrameDimension.Page);
            _currentPage = (_currentPage + 1) % pageCount;
            _pictureBox.Image.SelectActiveFrame(FrameDimension.Page, _currentPage);
            _pictureBox.Invalidate();
        }
    }
    En gros, les points importants sont les suivants :

    - la méthode GetFrameCount renvoie le nombre de frames pour une dimension donnée (en l'occurrence, les pages)
    - la méthode SelectActiveFrame permet de choisir une frame pour une dimension donnée
    - la méthode Invalidate rafraichit la PictureBox pour afficher la nouvelle page sélectionnée

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par edemkossi Voir le message
    Est ce que je peux avoir la correspondance en VB net de ce code ??
    mmm... j'avais pas remarqué que j'avais posté du code C# dans le forum VB.NET

    En gros :
    - le Main tu t'en fous, il est généré automatiquement.
    - public Form1() => Public Sub New().
    - pour le reste, tu peux utiliser le convertisseur disponible ici :
    http://www.developerfusion.com/tools/convert/csharp-to-vb/

    Citation Envoyé par edemkossi Voir le message
    Et aussi si je ne veux pas utiliser de picture box ? quelle type de variable je pourrai creer dans laquelle stocker les images et les traiter apres ?
    C'est à dire ? Tu veux faire quoi exactement ?

  6. #6
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour mindhavok
    Bah tant qu'à afficher des fichiers .tif ou .mdi si tu as l'office installe tu n'as qu'aller dans ta boite outils et faire
    1/choisir des elements....
    2/dans la fenetre affiche ->choisir panneau composant com
    3/dans la liste deroulante cocher:
    -Microsot Office Document Imaging Viewer Control

    4/Ok
    -voila le control est sur ta boite à outils.
    -Droppe le sur ton form.
    -Rajoute un bouton et une boite OpenFileDialog et tu execute pour charger ton doc.tif.....
    code vb.net:
    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
    19
    20
     
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.OpenFileDialog1.Filter = "files tiff|*.tif"
            Me.OpenFileDialog1.FilterIndex = 1
            Dim myfile As String = String.Empty
     
            If (OpenFileDialog1.ShowDialog = DialogResult.OK) Then
                myfile = OpenFileDialog1.FileName
                If (myfile.Length = 0) Then Return
                Me.AxMiDocView1.FileName = myfile
     
     
     
            End If
     
     
        End Sub
    End Class
    ce control permet de panner ou zoomer,gere la presentation etc....voir les proprietes dans l'inspecteur et l'intellisense....
    bon code....

Discussions similaires

  1. [AC-2003] Impression état et fichier lié (multi pages)
    Par caro2552 dans le forum IHM
    Réponses: 0
    Dernier message: 27/10/2011, 14h06
  2. |VB6] Comment Lister les liens vers des fichiers d'une page web
    Par Mayti4 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 18/01/2005, 18h17
  3. [Debutant]Multi page sous sql serveur
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/11/2004, 17h23
  4. Insérer un fichier dans une page web
    Par Mad666 dans le forum ASP
    Réponses: 6
    Dernier message: 05/05/2004, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo