Partager via


Rendu de l'image du graphique

Dans le contrôle Chart pour ASP.NET, vous pouvez définir la façon dont le contrôle Chart restitue l'image du graphique.Pour ce faire, utilisez la propriété RenderType.Trois options sont disponibles.

Option ImageTag

Par défaut, le contrôle Chart pour ASP.NET utilise cette méthode pour restituer des images de graphique.Il s'agit de la méthode de rendu la plus simple.Elle met en cache l'image de graphique rendue en mémoire ou sous forme de fichiers temporaires.Cela améliore les performances pour les graphiques ayant des données et une apparence statiques qui font l'objet de fréquents accès.

Utilisation

Affectez à la propriété RenderType la valeur ImageTag.Vous pouvez spécifier la façon dont les images rendues sont gérées.Pour plus d'informations, consultez Gestion des fichiers image.

Option BinaryStreaming

Avec cette option, l'image de graphique est transmise en continu directement au client, sans être enregistrée sur le serveur.De cette façon, lorsqu'elle est demandée, la page ASP.NET se comporte comme une image statique, ce qui vous permet de placer la page ASP.NET dans une balise HTML <img>.Par exemple :

<img src="DetailedChart.aspx" />

Utilisez cette option pour améliorer les performances lorsque les données et l'apparence du graphique changent fréquemment ou lorsqu'un cluster de serveurs est utilisé.Elle présente toutefois les inconvénients suivants :

  • Aucune mise en cache d'image.

  • Aucune prise en charge des fonctionnalités AJAX ou d'interactivité.Pour utiliser les fonctionnalités d'interactivité, vous devez utiliser cette option avec l'option ImageMap.

  • Impossible de partager le contrôle Chart avec un autre élément HTML dans le même fichier source.

Utilisation

Lors de l'utilisation de cette option, la page ASP.NET où figure le contrôle Chart ne doit contenir que les éléments suivants :

  • Directive @ Page

  • Élément <asp.Chart>

  • Code d'exécution

L'exemple suivant illustre une page ASP.NET contenant un contrôle Chart transmis en flux binaires.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="_Default" %>
<asp:Chart ID="Chart2" runat="server" RenderType="BinaryStreaming">
   <series>
      <asp:Series Name="Series1" ChartArea="ChartArea1">
         <Points>
            <asp:DataPoint YValues="4" />
            <asp:DataPoint YValues="5" />
         </Points>
      </asp:Series>
   </series>
   <chartareas>
      <asp:ChartArea Name="ChartArea1" />
   </chartareas>
</asp:Chart>

Option ImageMap

Cette méthode est celle à privilégier lorsque vous souhaitez utiliser des fonctionnalités d'interactivité avec l'option BinaryStreaming.Avec cette option, vous utilisez deux pages ASP.NET :

  • La première page contient le graphique transmis en flux binaires.Cette page utilise l'option BinaryStreaming dans la propriété RenderType du contrôle Chart.

  • La deuxième page demande le graphique transmis en flux binaires et applique des zones réactives à l'image transmise.

Utilisation

Pour configurer les pages ASP.NET requises avec l'option ImageMap

  1. Créez la première page à l'aide de l'option BinaryStreaming du contrôle Chart.

  2. Dans la première page, définissez toutes propriétés de données, d'apparence et d'interactivité comme vous le feriez dans un graphique entièrement personnalisé et interactif, tel qu'une info-bulle de série.Ajoutez également tout le code d'exécution à la première page ou à son fichier code-behind.

  3. Copiez et collez le contrôle Chart de la première page dans la deuxième.

  4. Copiez et collez tout le code d'exécution de la première page dans la deuxième ou dans son fichier code-behind.

  5. Dans la deuxième page, affectez à la propriété RenderType du contrôle Chart la valeur ImageMap et à la propriété ImageLocation l'emplacement de la première page.

    [!REMARQUE]

    Pour que l'image transmise en continu et l'image interactive soient synchronisées, les propriétés de données et d'apparence des contrôles Chart, ainsi que le code d'exécution, doivent être identiques dans les deux pages ASP.NET.

Voir aussi

Autres ressources

Rubriques avancées