Pregunta

Estoy buscando una forma más rápida de cargar JPEG (¿o PNG?) en un mapa de bits .NET en Windows Mobile ...

Acabo de cargar JPEG, PNG y GIF:

for (int i = 0; i < files.Length; i++)
{
    int tries = 10;
    while (--tries > 0)
    {
        int size = (int)new FileInfo(files[i]).Length;
        FileStream fs = new FileStream(files[i], FileMode.Open);
        sw.Reset();
        sw.Start();
        Bitmap b2 = new Bitmap(fs);
        sw.Stop();
        Debug.WriteLine(files[i] + "\n\t" + 
            sw.ElapsedMilliseconds.ToString());
        fs.Close();
    }
}
JPEG (medium)        100ms~
JPEG (medium prog.)  200ms~
PNG  (64 colour)      50ms~
GIF  (32 dith)        50ms~

La clase de mapa de bits administrado probablemente no sea la más rápida, pero ¿alguien lo sabe con seguridad?

¿Fue útil?

Solución

Realmente no hay nada más. Podría usar algo como las API de Imaging para cargarlo, pero 1) dudo que sea realmente más rápido y 2) entonces no podría usarlo como imagen administrada o mapa de bits, por lo que sería bastante inútil (más I / Estoy bastante seguro de que eso es lo que hace el marco de todos modos)

¿Qué tan grandes (resolución y profundidad de color) son estas imágenes? Ese será el factor importante: cuánto tiempo se tarda en cargar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top