Image

Modifié le  Mon, 20 May 2019 sur 06:00 PM

Image

L'élément de rapport PictureBox est utilisé pour afficher des images dans un rapport et il ne prend en charge que les formats d'image pris en charge par GDI + (BMP, GIF, JPEG, EXIF, PNG et TIFF).

Sa valeur peut être une expression contenant des données d'image binaire ou un URI (chemin local ou URL). Lorsqu'une propriété qui n'est pas une expression (ne commence pas par "=") est attribuée à une propriété Value, la valeur est supposée être un URI. Cliquez sur les points de suspension de cette propriété pour rechercher un fichier image sur votre disque dur.

Cette capture d'écran montre un élément de rapport PictureBox dans un rapport au moment du design (notez la vignette de l'image dans le coin supérieur gauche).

Liaison de données

La liaison des données d'image à un élément de rapport PictureBox est directe. Lorsque vous utilisez un concepteur de concepteur de rapports et que vous vous êtes connecté à une source de données, vous pouvez simplement faire glisser le champ d'image de la fenêtre Explorateur de données vers votre rapport. Le concepteur est suffisamment intelligent pour savoir quel type d'élément de rapport à associer à chaque champ en fonction de son type de données.

Vous pouvez également faire glisser un élément PictureBox sur l'aire de conception et utiliser une expression pour définir sa propriété Value sur un champ existant de la source de données.

Bien que les méthodes ci-dessus soient les plus rapides pour obtenir une image dans votre rapport, il n'est pas nécessaire de se lier directement à un champ de base de données avec une colonne d'image. Le type de la propriété PictureBox.Value est  Object, ce qui permet une liaison de données polyvalente. La propriété Value accepte les objets de type Image et les chaînes. La chaîne peut être expression ou littéral. L'expression doit être évaluée à Image , Image byte [], Uri relatif ou absolu Le littéral de chaîne peut être Uri relatif ou absolu

  • Liaison à une image binaire

    Vous pouvez affecter directement une référence à une  image   à la propriété Value d'un PictureBox:

    C #

    VB


            using System . Dessin ; 
     
            Image image1 = Image . FromFile ( @ "C: \ MyPictures \ MyPicture.jpg" ); 
            ceci . pictureBox1 . Valeur = image1 ; 
     
            Image image2 = Image . FromStream ( imageStream ); 
            ceci . pictureBox2 . Valeur = image2 ; 

    En phase de conception, si vous cliquez sur les points de suspension de la propriété Value d'un PictureBox sélectionné, une boîte de dialogue vous permettant de choisir l'image souhaitée vous sera présentée. Une fois l’image sélectionnée, le concepteur la stocke automatiquement dans le fichier de ressources du rapport (.resx) et ajoute une ligne de code à la méthode InitializeComponent qui obtient une référence à l’image stockée dans les ressources et l’assigne à la méthode. Propriété de valeur de PictureBox:

    C #


    ceci . pictureBox1 . Valeur = (( objet ) ( ressources . GetObject ( "pictureBox1.Value" )));  

    Lorsque le champ de la base de données contient un chemin relatif (qu'il s'agisse d'un fichier ou d'un uri), vous pouvez utiliser les fonctions utilisateur pour spécifier le chemin correct vers l'image:

    C #

    VB


    public Image statique LoadImage ( chaîne imageLocation )   
    {
         string absoluteLocation = "C: \\" + imageLocation ;  
         retourne l' image . FromFile ( absoluteLocation ); 
    }

    et définissez la valeur de l'élément PictureBox sur l'expression correcte: = LoadImage (Fields.YourImagePathColumn).

  • Liaison à l'expression / URI

    Vous pouvez également affecter une valeur de chaîne à la propriété Value d'un PictureBox. Cette valeur de chaîne peut être une expression de liaison d'élément  ou un URI . Les  URI absolus et relatifs sont pris en charge. Lors de la liaison à un champ de données avec une expression, la propriété Value accepte les champs de données binaires et chaînes . En d'autres termes, votre colonne de source de données peut stocker l' image directement ou stocker un URI pointant sur l'image:

    C #

    VB


    ceci . pictureBox1 . Value = "= Fields.MyImageBinary" ; // une colonne de données binaire   
    ceci . pictureBox2 . Value = "= Fields.MyImageURI" ; // une colonne de données contenant un URI  
    ceci . pictureBox3 . Value = @ "C: \ MyPictures \ MyPicture.png" ; // chemin de fichier absolu  
    ceci . pictureBox4 . Valeur = @ ". \ Images \ MyPicture.png" ; //chemin relatif  
    ceci . pictureBox5 . Value = "http://www.mysite.com/images/img1.gif" ; // URL absolue  

Coupure et positionnement

Le découpage et le positionnement d'une image dans la zone d'affichage d'un élément PictureBox sont contrôlés par sa propriété Sizing.

Modes de dimensionnement des propriétés:

PRÉNOMLA DESCRIPTION
AutoSizeLa   taille de l' élément PictureBox est ajustée à celle de l'image qu'il contient.
CentreL'image est affichée au centre de l' élément PictureBox . Si l'image est plus grande que l' élément PictureBox , les bords extérieurs sont coupés.
OrdinaireL'image est placée dans le coin supérieur gauche de l' élément PictureBox . L'image est coupée si elle est plus grande que l' élément PictureBox  qui la contient.
ÉtendueL'image dans l' élément PictureBox est étirée ou réduite de manière à correspondre à la taille de l' élément PictureBox .
ScaleProportionalL'image est redimensionnée proportionnellement (sans découpage), de sorte qu'elle s'adapte mieux à l' élément PictureBox . Si le rapport hauteur / largeur de l' élément PictureBox est identique au rapport de l'image, il sera redimensionné pour s'adapter exactement à l' élément PictureBox . Sinon, le côté de montage le plus proche (hauteur ou largeur) de l'image sera redimensionné par rapport à l'article et l'autre côté (hauteur ou largeur) de l'image dimensionnée proportionnellement (en laissant un espace vide).

L'image de la picturebox est rendue en fonction des paramètres DPI de l'image sous-jacente, de sorte que les dimensions physiques de l'élément rendu peuvent varier. Par exemple, si vous utilisez une image de 120 dpi dans votre PictureBox avec Sizing défini sur AutoSize ou Normal et que les paramètres de l'appareil sont définis sur 96 dpi, l'image paraîtra plus petite en raison du nombre plus élevé de pixels par pouce. Si vous voulez que votre image soit redimensionnée de façon appropriée, sondimensionnement doit être réglé sur Étirez ou ScaleProportional .

Voir également


Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article