ich diesen Code einen Hintergrund und Text zu einem einzigen Bild hier:ein Bild zusammenfassen, fand
Private _BackgroundColours As New List(Of String)() From { _
"339966", _
"3366CC", _
"CC33FF", _
"FF5050" _
}
Public Function GenerateRactangle(firstName As String, lastName As String) As MemoryStream
Dim imgSize() As Integer = {800, 800}
Dim avatarString As String = String.Format("{0}{1}", firstName(0), lastName(0)).ToUpper()
Dim bgColour = _BackgroundColours(New Random().[Next](0, _BackgroundColours.Count - 1))
Dim bmp As Bitmap = New Bitmap(imgSize(0), imgSize(1))
Dim sf As StringFormat = New StringFormat()
Dim ms As MemoryStream = New MemoryStream()
Dim font As Font = New Font("Arial", 172, FontStyle.Bold, GraphicsUnit.Pixel)
Dim graphics__1 As Graphics = Nothing
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
graphics__1 = Graphics.FromImage(bmp)
graphics__1.Clear(DirectCast(New ColorConverter().ConvertFromString("#" + bgColour), Color))
graphics__1.SmoothingMode = SmoothingMode.AntiAlias
graphics__1.TextRenderingHint = TextRenderingHint.AntiAliasGridFit
graphics__1.DrawString(avatarString, font, New SolidBrush(Color.WhiteSmoke), New RectangleF(0, 0, imgSize(0), imgSize(1)), sf)
graphics__1.Flush()
bmp.Save(ms, ImageFormat.Png)
Return ms
End Function
Auf stackoverflow und es funktioniert super. Ich benötige jedoch ein transparentes PNG-Bild im Hintergrund mit der farbändernden Hintergrundfarbe.
Was es sieht derzeit wie:
Was ich suche es aussehen:
Mit dem PNG-Bild dieses sein, das hinzugefügt wurde:
Ich hoffe, dass jemand mit mehr Wissen über die Grafik-Calls mich wissen lassen kann, wie man das macht.
Verwenden [ 'Graphics.DrawImage()'] (https://msdn.microsoft. com/de-de/library/system.drawing.graphics.drawimage (v = vs.110) .aspx). –
Wenn Sie die Silhouette zeichnen, um ein Bild zu zeichnen, wird es die Buchstaben abdecken. Für das gewünschte Ergebnis benötigen Sie das erste Bild als 2: eins für die BG und einmal für die Buchstaben - Sie können die Silhouette nicht zwischen den 2 Ebenen einfügen. Wenn der eine Teil immer Buchstaben ist, könnten Sie sie einfach zeichnen. – Plutonix
@Plutonix Kann ich das Avatar-Bild nicht einfügen und dann eine Hintergrundfarbe auf dem transparenten Teil des PNGs erstellen? Dann kann ich den Text zu allem hinzufügen? – StealthRT