Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308

    [C#] Bitmap forever : non si torna indietro

    Salve a tutti, io passo da problemi di alta classe in cui discuto di ereditarietà, delegate e reflection a problemi MESCHINI di cui mi vergogno pure a parlarne ma che mi fanno perdere un sacco di tempo e pazienza.
    Io inizializzo una bella bitmap b

    b = new bitmap(500, 500);

    Ci disegno sopra e la metto in una pictureBox:

    pictureBox1.Image = b;

    e la vedo. OK. Siccome sono sospettoso per natura mi creo una seconda bitmap identica alla prima

    bitmap ob = b;

    Continuo a disegnare sulla prima bitmap (b) poi cambio idea, non mi piace quello che ho disegnato e voglio tornare indietro:

    b = ob;
    pictureBox1.Image = b;

    Perchè non funziona? Per caso Ob mi "punta" sempre b? E che devo fare per tornare indietro?
    Ciao grazie.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Visto che sono tutti riferimenti alla stessa area (la new è una sola ...) e non ad aree diverse, è normale che funzioni così.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Visto che sono tutti riferimenti alla stessa area (la new è una sola ...) e non ad aree diverse, è normale che funzioni così.

    sono un poco "arrugginito", non è che bisogna creare una copia dell'immagine?

    bitmap ob = (Bitmap)b.Clone();
    Pietro

  4. #4
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308
    Ah ecco devo fare

    ob = new Bitmap(b);


    così funziona. Grazie!

  5. #5
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308
    Grazie Pietro anche con Clone funziona. Ciao

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.