SALVARE LE MODIFICHE AD UNA PICTUREBOX DOPO LA MODIFICA

lunedì 13 febbraio 2012 - 13.03
Tag Elenco Tags  C#  |  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010

xyzsurf Profilo | Newbie

Ciao a tutti! Senza la finestra di dialogo, sapete indicarmi come salvare un immagine di una PictureBox magari dopo averla modificata in qualche modo?
Allego un esempio, contenente una picturebox e un button …
Me.PictureBox1.Image = My.Resources.FrecciDestra Me.PictureBox1.Image.RotateFlip(RotateFlipType.Rotate180FlipY) Me.PictureBox1.Image.Save(prova.png)

Dove sbaglio?

ysdemarc Profilo | Expert

che errore hai?

a me sunziona perfetamente. magari imposta meglio il percorso del file e verifica che stai caricando effettivamente l'immagine prima della rotazione.

ciao
Vincenzo
Programmatore sbilenco

xyzsurf Profilo | Newbie

desidero salvare impostando personalmente un percorso ... magari la cartella dove il programma è installato
mi dici come salvi tu?

in altre parole MODIFICO l'immagine ma poi non soi come salvarla ... se ne sai qualcosa
(mi manca proprio la conoscenza dell'istruzione del salvataggio, e non vorrei usare save file dialog)
ciao

tu dici che va bene ... ok ma non so dove mi salva l'immagine ammesso che lo faccia

ysdemarc Profilo | Expert

ma già col metodo Save dell'oggetto Image Salvi senza finestra di dialogo, non riesco a capire cosa intendi.
magari il problema è nel nome del file. prova a fare così (tendo vb , io scrivo di solito in c#);

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra





Vincenzo
Programmatore sbilenco

xyzsurf Profilo | Newbie

ottima la patch ma purtroppo il problema è che non salva ... non so dirti come mai: non da errore ma non salva! è un mistero ... c'è un problema con save e i file immagine ... ci siamo saltati qualcosa ... strano che non dia errore

ysdemarc Profilo | Expert

scusa, tagliamo la testa al toro. metti un punto di debug quando fai "Save" e vedi il percorso ed il nome del file di output esatti, molto probabilmente cerchi l'output da un'altra parte oppure non hai permessi di scrittura dove lo vai a posizionare.

se vedi che continua non funzionare cerca qualche Service Pack che ti sistema il problema.

Altrimenti (ultima spiaggia) prova a scrivere il file con l'oggetto Stream (per comodità scrivo in c#):
o così
FileStream fs=new FileStream(filename, FileMode.Create, FileAccess.Write); pictureBox1.Image.Save(fs, System.Drawing.Imaging.ImageFormat.Png);

o così
MemoryStream ms = new MemoryStream(); pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); FileStream fs=new FileStream(filename, FileMode.Create, FileAccess.Write); byte[] blob = ms.ToArray(); fs.Write(blob, 0, blob.Length); fs.Close();

non li ho provati...li lascio provare a te. ciao
Vincenzo
Programmatore sbilenco

xyzsurf Profilo | Newbie

ok ti farò sapere molte grazie!

xyzsurf Profilo | Newbie

non serviva complicarsi la vita ... ero su server e non avevo i permessi ... funziona correttamente così come avevo detto io ... ma il tuo esempio della patch mi è stato molto utile... grazie!

ysdemarc Profilo | Expert

di nulla...

non poteva essere altro che la mancanza dei permessi di scrittura o un baco nel framework.
Vincenzo
Programmatore sbilenco
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5