Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #1
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308

    [C#] Costruttore Bitmap da file e memoria

    Ciao a tutti.
    Vorrei capire bene cosa succede in sottofondo quando costruiamo una bitmap leggendola da un file.
    Es.:
    Bitmap b = new Bitmap("C:\ciao.bmp");

    Immagino che b finisca in memoria e ciao.bmp rimanga li dov'era sul disco C. E fin qui (spero) va bene.
    Che succede se voglio copiare in una bitmap b2 solo una porzione 100 x 100 di una bitmap b1 1000 x 1000 contenuta su C nel file C:\b1.bmp?

    Bitmap b2 = new Bitmap(100, 100) ----> memoria occupata M 100x100
    Graphics g = Graphics.FromImage(b2) ----> memoria x graphics
    g.DrawImage(b1, 0, 0, new Rectangle(0,0,100,100)) ---> dati da b1 a M
    g.Dispose() ---> liberata memoria per graphics

    Quando avviene il trasferimento dei dati da b1 a M, b1 resta sul disco C no? Quindi tutta la memoria che ho usato è M?

    Ah scusate ho detto una fesseria, b1 è pure in memoria!
    Il fatto è che io ho una bitmap di 10000x10000 su disco ma un mio programma ne deve usare una porzione piccolissima per volta. Come posso fare? La Marshal.Copy fa al caso mio?
    Ultima modifica di escocat; 13-02-2015 a 15:37

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.