示例#1
0
        /// <summary>
        /// Obtiene la carátula asociada a la película indicada
        /// Seguridad: Público
        /// </summary>
        /// <param name="codBarras">Código de barras de la película</param>
        /// <param name="ancho">Ancho deseado de la imagen</param>
        /// <param name="alto">Alto deseado de la imagen</param>
        /// <returns>Array de bytes con la imagen de la carátula</returns>
        public byte[] ObtenerCaratula(string codBarras, int ancho, int alto)
        {
            PeliculasAD peliculasAD = new PeliculasAD();

            byte[]       buffer;
            Bitmap       bmpSource, bmpDest;
            MemoryStream memStream;

            buffer = peliculasAD.ObtenerCaratula(codBarras);

            if (ancho == 0 && alto == 0)
            {
                return(buffer);
            }

            bmpSource = new Bitmap(new MemoryStream(buffer));
            if (ancho >= bmpSource.Width || alto >= bmpSource.Height)
            {
                return(buffer);
            }

            bmpDest = new Bitmap(ancho, alto, bmpSource.PixelFormat);
            Graphics g = Graphics.FromImage(bmpDest);

            g.SmoothingMode     = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
            g.DrawImage(bmpSource, 0, 0, bmpDest.Width, bmpDest.Height);
            g.Dispose();

            memStream = new MemoryStream();
            bmpDest.Save(memStream, ImageFormat.Jpeg);

            return(memStream.ToArray());
        }