Exemplo n.º 1
0
        static void EscalarImagem(ImagemControle info)
        {
            int momentoInicial = Environment.TickCount;
            var orig           = info.ImagemOriginal;

            info.ImagemOriginal = null;
            const int escala = 200;

            var    imagemEstaGrande = (orig.Width > orig.Height);
            var    novaLargura      = imagemEstaGrande ? escala : escala * orig.Width / orig.Height;
            var    novaAltura       = !imagemEstaGrande ? escala : escala * orig.Height / orig.Width;
            Bitmap bitmap           = new Bitmap(orig, novaLargura, novaAltura);

            try
            {
                Bitmap bitmap2 = bitmap.AdicionarBorda(15);
                try
                {
                    bitmap2.Tag                 = orig.Tag;
                    info.ImagemMiniatura        = bitmap2;
                    info.MomentoInicioDaFase[1] = momentoInicial - info.ClockOffset;
                    bitmap2 = null;
                }
                finally
                {
                    if (bitmap2 != null)
                    {
                        bitmap2.Dispose();
                    }
                }
            }
            finally
            {
                bitmap.Dispose();
                orig.Dispose();
            }
            info.MomentoFimDaFase[1] = Environment.TickCount - info.ClockOffset;
        }