Oppure

Loading
07/12/11 22:53
MrPaky
Ciao a tutti,

vorrei aggiungere un bordo ad un'immagine, però il bordo è un'immagine PNG, che è in poche parole un bordo disegnato, e al centro ha una trasparenza.

Come posso fare?

Per aggiungere un bordo colorato ho già fatto così:
    Public Function AggiungoBordo(percorso_immagine As Image, borderWidth As Integer) As Image
        Dim borderColor = Color.White

        Dim newSize = New Size(percorso_immagine.Width + borderWidth * 2, percorso_immagine.Height + borderWidth * 2)

        Dim immagine = New Bitmap(newSize.Width, newSize.Height)
        Dim Disegno_Board = Graphics.FromImage(immagine)

        Disegno_Board.Clear(borderColor)
        Disegno_Board.DrawImage(original, New Point(borderWidth, borderWidth))
        Disegno_Board.Dispose()

        Return immagine
    End Function

Private Sub Button_Click(sender As System.Object, e As System.EventArgs) Handles Button.Click

PictureBox1.Image = AggiungoBordo("Nome_File.jpg", 240)

End Sub


E questo funziona. Ma se il bordo è un'immagine, cosa potrei fare?

Grazie a tutti

Ciaooooooo :)
aaa
08/12/11 11:24
walker93
Dovrai passare 2 immagini alla funzione

una con l'originale e una con il bordo

e poi al posto del tuo DrawImage() metti:

Disegno_Board.DrawImage(immagine_bordo, 0, 0)
Disegno_Board.DrawImage(Immagine_originale, width_cornice, height_cornice)
Ultima modifica effettuata da walker93 08/12/11 11:25
aaa
09/12/11 4:53
MrPaky
Postato originariamente da walker93:

Dovrai passare 2 immagini alla funzione

una con l'originale e una con il bordo

e poi al posto del tuo DrawImage() metti:

Disegno_Board.DrawImage(immagine_bordo, 0, 0)
Disegno_Board.DrawImage(Immagine_originale, width_cornice, height_cornice)


Buongiorno,

Grazie per la risposta, ma non potresti cortesemente fare un esempio completo? Per favore, sono un po' confuso! 

Ti ringrazio ugualmente :)
aaa
09/12/11 15:06
walker93
Postare un codice completo va contro al regolamento...
cercerò di essere più chiaro:

Tu adesso con la tua funzione, ti calcoli le nuove dimensioni dell'immagine con il bordo, poi con la funzione clear colori tutta l'immagine di bianco (cancellando eventuali vecchie immagini) e ne disegni una nuova immagine corrispondente all'originale spostata di un certo numero(corrispondente alla larghezza del bordo) passato alla funzione.

quello che dico di fare io è passare alla funzione 3 parametri: l'immagine originale, l'immagine della cornice e la dimensione della cornice (non il width, ma solo il bordo)

poi dopo le stesse funzioni, al posto di disegnare solo l'immagine originale spostata disegni anche l'immagine della cornice che parte dal punto ( 0; 0) il risultato finale sarà l'immagine originale dentro la cornice...
aaa
09/12/11 21:47
MrPaky
Postato originariamente da walker93:

Postare un codice completo va contro al regolamento...
cercerò di essere più chiaro:

Tu adesso con la tua funzione, ti calcoli le nuove dimensioni dell'immagine con il bordo, poi con la funzione clear colori tutta l'immagine di bianco (cancellando eventuali vecchie immagini) e ne disegni una nuova immagine corrispondente all'originale spostata di un certo numero(corrispondente alla larghezza del bordo) passato alla funzione.

quello che dico di fare io è passare alla funzione 3 parametri: l'immagine originale, l'immagine della cornice e la dimensione della cornice (non il width, ma solo il bordo)

poi dopo le stesse funzioni, al posto di disegnare solo l'immagine originale spostata disegni anche l'immagine della cornice che parte dal punto ( 0; 0) il risultato finale sarà l'immagine originale dentro la cornice...


:D Grazie, avevo letto il regolamento comunque, mi ero alzato alle 5 di mattina :D poi avevo risolto, ti ringrazio moltissimo :)
aaa