193 lines
5.9 KiB
C#
193 lines
5.9 KiB
C#
using ceTe.DynamicPDF.PageElements;
|
|
using Consulenza.ReportWriter.Business.Entity;
|
|
using System.IO;
|
|
using ceTe.DynamicPDF;
|
|
|
|
namespace Consulenza.ReportWriter.Business.OBJ_PDF
|
|
{
|
|
/// <summary>
|
|
/// Rappresenta una immagine.
|
|
/// L'immagine sarà disegnata ai rispettivi valori x e y del documento assegnati alle proprietà _x e _y dell'oggetto ImagePDF.
|
|
/// Utilizza la classe primitiva ceTe.DynamicPDF.PageElements.Image.
|
|
/// </summary>
|
|
public class ImagePDF : ObjectPDF
|
|
{
|
|
#region Fields
|
|
|
|
/// <summary>
|
|
/// Imposta o ottiene l'elemento base (PageElement)
|
|
/// </summary>
|
|
public Image BaseElement { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la X del documento su cui disegnare l'immagine.
|
|
/// </summary>
|
|
public float X { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera un valore che indica l'incremento algebrico dell'incremento standard di X.
|
|
/// Utilizzare questa proprietà se si vuole incrementare o decrementare la X assegnata automaticamente dal motore di renderizzazione.
|
|
/// Di default=0;
|
|
/// </summary>
|
|
public float DeltaX { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la Y del documento su cui disegnare l'immagine.
|
|
/// </summary>
|
|
public float Y { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera un valore che indica l'incremento algebrico dell'incremento standard di Y.
|
|
/// Utilizzare questa proprietà se si vuole incrementare o decrementare la Y assegnata automaticamente dal motore di renderizzazione.
|
|
/// Di default=0;
|
|
/// </summary>
|
|
public float DeltaY { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o ottiene un valore per il quale scalare l'immagine.
|
|
/// </summary>
|
|
public float Scale { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o ottiene l'allinemento dell'immagine quando questa è contenuta in una cella di una tabella.
|
|
/// Di default=Left.
|
|
/// </summary>
|
|
public Align Align { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera la larghezza
|
|
/// </summary>
|
|
public float Width { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera l'altezza
|
|
/// </summary>
|
|
public float Height { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera il percorso dell'immagine da disegnare.
|
|
/// </summary>
|
|
public string Path { get; set; }
|
|
|
|
/// <summary>
|
|
/// Imposta o recupera il file contenente l'immagine da disegnare.
|
|
/// </summary>
|
|
public Stream File { get; set; }
|
|
|
|
// NOTE
|
|
public FormattedTextAreaPDF _notes { get; set; }
|
|
|
|
public FormattedTextAreaPDF Notes
|
|
{
|
|
get { return _notes; }
|
|
set { _notes = value; }
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Costruttori
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
public ImagePDF()
|
|
{
|
|
Align = Align.Left;
|
|
ObjectType = ObjectTypePdf.IMAGE;
|
|
AutoIncrementYWritable = false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="x">X su cui stampare l'immagine.</param>
|
|
/// <param name="file">file</param>
|
|
/// <param name="height">altezza</param>
|
|
/// <param name="width">larghezza</param>
|
|
/// <param name="y">Y su cui stampare l'immagine.</param>
|
|
public ImagePDF(float x, Stream file, float height, float width, float y)
|
|
: this()
|
|
{
|
|
X = x;
|
|
Y = y;
|
|
Height = height;
|
|
Width = width;
|
|
File = file;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="x">X su cui stampare l'immagine.</param>
|
|
/// <param name="scale"></param>
|
|
/// <param name="file">file</param>
|
|
public ImagePDF(float x, float scale, Stream file)
|
|
: this()
|
|
{
|
|
X = x;
|
|
Scale = scale;
|
|
File = file;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="x">X su cui stampare l'immagine.</param>
|
|
/// <param name="scale">Scala con cui stampare l'immagine.</param>
|
|
/// <param name="fileName">Nome file dell'immagine.</param>
|
|
public ImagePDF(float x, float scale, string fileName)
|
|
: this()
|
|
{
|
|
X = x;
|
|
Scale = scale;
|
|
|
|
var path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
|
|
.Replace("bin", "Images")
|
|
.Replace("file:\\", string.Empty);
|
|
|
|
Path = string.Format("{0}\\{1}", path, fileName);
|
|
}
|
|
|
|
public ImagePDF(string fileName, float x, float scale)
|
|
: this()
|
|
{
|
|
X = x;
|
|
Scale = scale;
|
|
Path = string.Format(fileName);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Costruttore
|
|
/// </summary>
|
|
/// <param name="x">X su cui stampare l'immagine.</param>
|
|
/// <param name="scale">Scala con cui stampare l'immagine.</param>
|
|
/// <param name="fileName">Nome file dell'immagine.</param>
|
|
/// <param name="align">Allinemento dell'immagine quando contenuta in una cella di una tabella.</param>
|
|
/// <param name="y">Y su cui stampare l'immagine.</param>
|
|
public ImagePDF(float x, float scale, string fileName, Align align, float y)
|
|
: this(x, scale, fileName)
|
|
{
|
|
Align = align;
|
|
Y = y;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Metodi
|
|
|
|
/// <summary>
|
|
/// Ritorna l'oggetto che sarà stampato sulla pagina del documento.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public override PageElement ToElement()
|
|
{
|
|
return BaseElement;
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
}
|
|
}
|