• Viernes 17 de Abril de 2026, 01:22

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - cyttorak

Páginas: [1]
1
C# / Optimizar memoria
« en: Martes 15 de Diciembre de 2009, 11:47 »
He creado un programa que se queda en la bandeja de sistema y captura la tecla de Imprimir Pantalla para guardar el resultado en PNG y mandarlo por email (a su vez en el email manda nombre de usuario, version del sistema operativo y fecha)

Recien ejecutado consume 16292KB de memoria
y tras la primera captura se queda en 22288KB

Llamo a System.GC.Collect(); después de cada captura

Me da la impresión de que consume mucha memoria para lo que hace
Lo he compilado con el modo Release y me he copiado el .exe que genera en binRelease tal cual

Es la primera vez que hago algo en c# con el Visual Studio 2005 así que mi preguntas son:
-se puede compilar de alguna manera para optimizar el resultado?
-El uso de memoria citado antes es normal?

Para el que quiera testear el código fuente y el ejecutable esta aquí: back.host22.com/Projects.rar

2
C# / Bajar la calidad de un PNG
« en: Martes 15 de Diciembre de 2009, 01:56 »
Hola
Estoy capturando la pantalla del escritorio y salvandola en un PNG con el siguiente codigo:

using (MemoryStream ms = new MemoryStream())
{
  Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
  Graphics gfx = Graphics.FromImage(bmp);
  gfx.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
  bmp.Save(ms, ImageFormat.Png);
  ...
}

¿Mi pregunta es si hay alguna manrea de al salvarlo indicarle el numero de colores que tiene que usar la paleta? o algo similar para disminuir el tamaño del archivo?

Páginas: [1]