Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Centrare un immagine proveniente da un DB nel controllo 'Image' di un MS ReportViewer

    Io ho un RDLC Report generato da un ReportViewer. In questo report ho un controllo 'Image' che visualizza delle immagini provenienti da un database. Non conosco le dimensioni delle immagini e ho settato la proprietà Sizing a FitProportional. Tutto lavora bene, tranne che le immagini risultano sempre allineate a sinistra. Come faccio ad allineare le immagini al centro del controllo 'Image'?

  2. #2

    [RISOLTO] Centrare un immagine nel controllo 'Image' di un MS ReportViewer

    Dopo varie ricerche infruttuose in rete, sono riuscito a sviluppare una soluzione.
    Sperando di fare cosa gradita a qualche internauta interessato, vi posto la funzione che effettua una trasformazione preliminare dell'immagine che deve essere centrata nel controllo Image del MS ReportViewer.
    Richiamare la funzione CenterImage() nella proprietà Value del controllo medesimo.
    Ricordatevi che per richiamare, all'interno delle espressioni, la funzione custom così generata dovrete usare la seguente: "Code.CenterImage(...)".
    Per comodità, vi posto anche il link dove poter scaricare il codice della funzione medesima: http://www.svr-consulting.it/Default...ipo=TipsTricks

    * Public Function CenterImage(ByVal bI As Byte(),ByVal W As double,ByVal H As double) As Byte()
    * ' bI: Immagine proveniente da DataBase da centrare (it)
    * ' bI: DataBase Image from center (en)
    * ' W: Larghezza del controllo contenitore (it)
    * ' W: Width of the container control (en)
    * ' H: Altezza del controllo contenitore (it)
    * ' H: Height of the container control (en)
    * Dim WidthDivHeight As double
    * WidthDivHeight = W / H
    * Dim I As System.Drawing.Image
    * I = ConvertImageFromBytes(bI)
    * Dim size As System.Drawing.Size
    * size = new System.Drawing.Size()
    * IF (I.Width < (WidthDivHeight * I.Height) ) THEN
    * size.Height = I.Height
    * size.Width = (size.Height * WidthDivHeight)
    * else
    * size.Width = I.Width
    * size.Height = (size.Width / WidthDivHeight)
    * END IF
    * Dim bmp AS System.Drawing.Bitmap
    * bmp = new Bitmap(size.Width, size.Height)
    * Dim g AS System.Drawing.Graphics
    * g = Graphics.FromImage(bmp)
    * g.FillRectangle(new SolidBrush(Color.White), new Rectangle(0, 0, size.Width, size.Height))
    * g.DrawImageUnscaled(I,((size.Width-I.Width)/2),((size.Height-I.Height)/2),bmp.Width,bmp.Height)
    * System.IO.MemoryStream ms = new MemoryStream()
    * bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp)
    * ms.Position = 0
    * Dim Buffer AS Byte()
    * Buffer = ms.ToArray()
    * ms.Close()
    * return Buffer
    * End Function

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.