Ejemplo n.º 1
0
        private IEnumerable <FormatoImmagine> RecuperaFormatiImmaginePrivate()
        {
            List <FormatoImmagine> formatiImmagine = new List <FormatoImmagine>();

            SqlServerExecuteObject sseo = null;
            SqlDataReader          dr   = null;

            string sSql = "SELECT FormatoImmagineID, Nome, AltezzaMax, AltezzaMin, LarghezzaMax, LarghezzaMin, Abilitato FROM dbo.TBL_FormatiImmagine;";

            sseo             = new SqlServerExecuteObject();
            sseo.CommandText = sSql;

            dr = SqlProvider.ExecuteReaderObject(sseo);

            while (dr.Read())
            {
                FormatoImmagine formatoImmagine = RiempiIstanza(dr);

                formatiImmagine.Add(formatoImmagine);
            }

            if (dr != null)
            {
                dr.Close();
                dr.Dispose();
            }

            return(formatiImmagine);
        }
        public Immagine CreaImmagine(Immagine immagineMaster, FormatoImmagine formato, string nomeFile)
        {
            Immagine immagine = null;

            if (immagineMaster == null)
            {
                throw new ArgumentNullException("immagineMaster");
            }

            if (formato == null)
            {
                throw new ArgumentNullException("formato");
            }

            immagine = new Immagine();
            immagine.ImmagineMasterID   = immagineMaster.ID;
            immagine.FormatoImmagine    = formato;
            immagine.DataInserimento    = DateTime.Now;
            immagine.DataUltimaModifica = immagine.DataInserimento;

            immagine.Nome_IT  = immagineMaster.Nome_IT;
            immagine.Nome_EN  = immagineMaster.Nome_EN;
            immagine.NomeFile = nomeFile;

            return(immagine);
        }
Ejemplo n.º 3
0
        private FormatoImmagine RiempiIstanza(SqlDataReader dr)
        {
            if (dr == null)
            {
                throw new ArgumentNullException("dr");
            }

            FormatoImmagine formatoImmagine = new FormatoImmagine();

            formatoImmagine.ID           = dr.GetInt32(0);
            formatoImmagine.Nome         = dr.GetString(1);
            formatoImmagine.AltezzaMax   = dr.GetInt32(2);
            formatoImmagine.AltezzaMin   = dr.GetInt32(3);
            formatoImmagine.LarghezzaMax = dr.GetInt32(4);
            formatoImmagine.LarghezzaMin = dr.GetInt32(5);
            formatoImmagine.Enum         = (FormatoImmagineEnum)dr.GetInt32(0);
            formatoImmagine.Abilitato    = dr.GetBoolean(6);

            return(formatoImmagine);
        }
Ejemplo n.º 4
0
        public ActionResult EditaFormatiRidimensiona(int id, int formatoImmagineID, int w, int h)
        {
            ActionResult result         = null;
            Immagine     immagineMaster = null;

            immagineMaster = ImmagineRepository.Instance.RecuperaImmagine(id);

            if (immagineMaster != null)
            {
                FormatoImmagine formato  = FormatoImmagineRepository.Instance.RecuperaFormatoImmagine(formatoImmagineID);
                Immagine        immagine = null;

                immagine = ImmagineRepository.Instance.RecuperaImmaginiFiglio(immagineMaster.ID).FirstOrDefault(x => x.FormatoImmagine.ID == formato.ID);

                Bitmap    immagineLavoro            = null;
                Bitmap    immagineRidimensionata    = null;
                Graphics  grpImmagineRidimensionata = null;
                Rectangle rettangoloRidimensionata;

                immagineLavoro = new Bitmap(FileUtility.VAImmagineLavoro(immagineMaster.NomeFile));

                rettangoloRidimensionata = new Rectangle(0, 0, w, h);

                immagineRidimensionata = new Bitmap(w, h);

                grpImmagineRidimensionata = Graphics.FromImage((System.Drawing.Image)immagineRidimensionata);

                grpImmagineRidimensionata.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
                grpImmagineRidimensionata.SmoothingMode      = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                grpImmagineRidimensionata.InterpolationMode  = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

                grpImmagineRidimensionata.DrawImage((System.Drawing.Image)immagineLavoro, rettangoloRidimensionata);
                grpImmagineRidimensionata.Dispose();

                string ext = System.IO.Path.GetExtension(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile)).ToLower();

                switch (ext)
                {
                case ".jpeg":
                case ".jpg":
                    immagineRidimensionata.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), immagineLavoro.RawFormat);
                    break;

                case ".gif":
                    immagineRidimensionata.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), immagineLavoro.RawFormat);
                    break;

                case ".png":
                    immagineRidimensionata.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), immagineLavoro.RawFormat);
                    break;

                case ".bmp":
                    immagineRidimensionata.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), immagineLavoro.RawFormat);
                    break;

                default:
                    throw new ApplicationException("Formato immagine non supportato: " + ext);
                }

                immagineLavoro.Dispose();

                ContenutoService cs = new ContenutoService();

                if (immagine != null)
                {
                    immagine.NomeFile = immagineMaster.NomeFile;
                }
                else
                {
                    immagine = cs.CreaImmagine(immagineMaster, formato, immagineMaster.NomeFile);
                }

                immagine.Larghezza = immagineRidimensionata.Width;
                immagine.Altezza   = immagineRidimensionata.Height;

                immagineRidimensionata.Dispose();

                cs.SalvaImmagine(immagine);

                result = RedirectToAction("EditaFormati", new { id = immagineMaster.ID, formatoImmagineID = formato.ID });
            }
            else
            {
                result = RedirectToAction("Index");
            }

            return(result);
        }
Ejemplo n.º 5
0
        public ActionResult EditaFormatiTaglia(int id, int formatoImmagineID, int x1 = 0, int y1 = 0, int x2 = 0, int y2 = 0, int w = 0, int h = 0)
        {
            ActionResult result         = null;
            Immagine     immagineMaster = null;

            immagineMaster = ImmagineRepository.Instance.RecuperaImmagine(id);

            if (immagineMaster != null)
            {
                FormatoImmagine formato  = FormatoImmagineRepository.Instance.RecuperaFormatoImmagine(formatoImmagineID);
                Immagine        immagine = null;
                immagine = ImmagineRepository.Instance.RecuperaImmaginiFiglio(immagineMaster.ID).FirstOrDefault(x => x.FormatoImmagine.ID == formato.ID);

                Bitmap      immagineLavoro    = null;
                ImageFormat format            = null;
                Bitmap      immagineRisultato = null;

                immagineLavoro    = new Bitmap(FileUtility.VAImmagineLavoro(immagineMaster.NomeFile));
                format            = immagineLavoro.RawFormat;
                immagineRisultato = ImageHelper.Ritaglia(immagineLavoro, x1, y1, x2, y2);

                if (immagineRisultato != null)
                {
                    immagineLavoro.Dispose();
                    immagineLavoro = immagineRisultato;
                }

                immagineRisultato = ImageHelper.Ridimensiona(immagineLavoro, w, h);

                if (immagineRisultato != null)
                {
                    immagineLavoro.Dispose();
                }
                else
                {
                    immagineRisultato = immagineLavoro;
                }

                immagineLavoro = null;

                string ext = System.IO.Path.GetExtension(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile)).ToLower();

                switch (ext)
                {
                case ".jpeg":
                case ".jpg":
                    immagineRisultato.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), format);
                    break;

                case ".gif":
                    immagineRisultato.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), format);
                    break;

                case ".png":
                    immagineRisultato.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), format);
                    break;

                case ".bmp":
                    immagineRisultato.Save(FileUtility.VAImmagine(formato.Enum, immagineMaster.NomeFile), format);
                    break;

                default:
                    throw new ApplicationException("Formato immagine non supportato: " + ext);
                }

                ContenutoService cs = new ContenutoService();

                if (immagine != null)
                {
                    immagine.NomeFile = immagineMaster.NomeFile;
                }
                else
                {
                    immagine = cs.CreaImmagine(immagineMaster, formato, immagineMaster.NomeFile);
                }

                immagine.Larghezza = immagineRisultato.Width;
                immagine.Altezza   = immagineRisultato.Height;

                immagineRisultato.Dispose();

                cs.SalvaImmagine(immagine);

                result = RedirectToAction("EditaFormati", new { id = immagineMaster.ID, formatoImmagineID = formato.ID });
            }
            else
            {
                result = RedirectToAction("Index");
            }

            return(result);
        }