Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    Problema col metodo Image.Save

    Stamattina mentre stavo sviluppando una applicazione di disegno, che esegue il rendering degli oggetti su un RichTextBox, quindi ho messo la funzione per salvare:

    Dim image As New Bitmap(617, 458, RichTextBox1.CreateGraphics)
    imgsave.ShowDialog()
    image.Save(imgsave.FileName, System.Drawing.Imaging.ImageFormat.Bmp)

    Dove imgsave è un SaveFileDialog

    Il risultato :
    Una bitmap nera!

    Ma come può essere, mentre avevo disegnato un ellisse con un "Pen" di colore nero.
    ... allora ho pensato (dal fatto che faccio programmi superdotati di funzioni), di ricgreare l'ellisse sempre con la stessa penna e poi di cambiare il colore della penna, sempre durante l'esecuzione del programma.
    Alla fine... risultato NERO!

    Ragazzi, come posso fare?

  2. #2
    Hai provato ad accendere il monitor?

  3. #3
    Ma come fate queste domande, era nera solo l'immagine, ma il monitor era acceso!

  4. #4
    Originariamente inviato da CGiuseppe
    Ma come fate queste domande, era nera solo l'immagine, ma il monitor era acceso!
    era una battutina...
    ma fa così solo se fai l'ellisse?

  5. #5
    No, con tutte le figure è da tre ore che tento di risolverlo!

  6. #6
    Io sti giorni ho biastimiato non poco con due piccoli applicativi che ho fatto, uno per applicare il Watermark ad un'immagine, uno per quadratizzare le immagini.

    Col secondo ci ho perso vermante tanto tempo e ho potuto vedere un pò di funzionamento di Graphics, Image, Bitmap e compagnia bella.

    Per prima cosa ti dico che il metodo che hai usato tu non funziona per le seguenti ragioni:

    Dim image As New Bitmap(617, 458, RichTextBox1.CreateGraphics) inizializza un'immagine vuota delle dimensioni di 617 per 458 con la risoluzione del Graphics della richtext, e non con la rappresentazione grafica della richtext).

    Immagine vuota significa nera, è normale che il bitmap sia nero.

    Un oggetto Graphics serve quasi esclusivamente a modificare sè stesso, RichTextBox1.CreateGraphics restituisce un oggetto Graphics, il che significa che, se pure lo vuoi utilizzare, non fai altro che modificare la richtext originale graficamente.

    La soluzione al tuo problema sarebbe riuscire a trovare un modo per estrapolare la rappresentazione grafica della richtext, se esiste; se riesci a trovarlo sei a cavallo, io ti posso suggerire alcuni sistemi.

    Ad esempio, se tu prima crei una Bitmap

    Dim image As New Bitmap(617, 458)

    Ti ritrovi una Bitmap vuota, ma se poi crei un Graphics dalla Bitmap

    Dim gra As Graphics = Graphics.FromImage(image)

    Puoi ora disporre di gra come vuoi, di metodi ne ha tanti, se vuoi rimpirla di bianco potresti farlo così:

    gra.FillRectangle(Brushes.White, 0, 0, 200, 200)

    Se vuoi applicarci un'immagine, ad esempio al centro, fai così

    gra.DrawImage(Image.FromFile("percorso"), 50, 50, 100, 100)

    Basta che poi alla fine esegui il Save della Bitmap iniziale, es image.Save("percorso",compressione)

    Ho usato Bitmap invece di Image perchè è più versatile.

    Ciao

  7. #7
    Grazie! Potrei aggiustare il mio programma in questo modo: Salvo l'immagine all'apertura del programma e la riempio di bianco , poi ogni disegno che faccio sul rich text box, lo faccio fare automaticamente nell'immagine, quindi salvo di nuovo. Quindi la rich text box sarebbe solo un preview. Sarebbe in toto un aggiornamento in tempo reale dell'immagine. Grazie molte per il codice , sai forse mi vanto un pochettino, perchè nessuno che io conosco fa dei programmi del genere in 2° media!

  8. #8
    Mi fa piacere che uno di seconda media faccia cose simili.

    Io ho iniziato a programmare abbastanza seriamente intorno ai 20 anni, ma ho notato che la generazione vostra e qualcosa di più non è molto interessata al computer come lo era la mia generazione, forse vi ci voleva un pò di commodore 64

    Cmq non ho ancora ben capito che ci devi fare con la richtextbox, forse una picturebox a sfondo bianco non farebbe meglio al caso tuo?

  9. #9
    Originariamente inviato da CGiuseppe
    ...Sai forse mi vanto un pochettino, perchè nessuno che io conosco fa dei programmi del genere in 2° media!
    Io adesso sto in 3^ media... :rollo: E calcola che in classe mia nessuno ne capisce una mazza di PC e tanto meno di programmazione...


  10. #10
    Infatti l'altro giorno ho preso in giro mio cugino che fa le medie.

    Io capisco parecchio di computer, su ogni campo, dalla grafica, alla programmazione, al sistemista, alla stampa digitale e impaginazione... insomma di tutto.

    Lui, abbagliato dalla mia esperienza, vuole seguire le mie orme e un giorno mi chiede: "Simò, ma secondo te, io ci capisco di computer? Ce la faccio a diventare come te?"

    Io: "Te li hanno fatti fare i diagrammi di flusso a scuola?"

    Lui: "Si, ma non c'ho capito una mazza".

    Io: "Bene, allora come me non ci diventerai mai"

    Quanto ha rosicato

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.