![]() |
PNG Datei für "Überschrift" vergrößern
Hallo Zusammen,
ich würde gerne einer kleinen .png (32x37) Datei einen Text hinzufügen. Sozusagen als überschrift. Leider schaffe ich es bisher nur auf dem eigentlichen Bild einen Text zu schreiben. Jetzt würde ich gerne die Datei in der Höhe um die Höhe des Textes vergrößern. Weiß aber nicht wirklich wie ich das anpacken soll, damit es ordentlich aussieht. Muss ich auf die Transparents achten? Wenn ja wie? Wenn es ggf. einfacher ist, kann ich mir auch vorstellen, die "Überschrift" in einem extra "kasten" mit schwarzer Umrandung über dem eigentlichen Bild darzustellen. Wäre super, wenn mir da jemand helfen könnte. Viele Grüße |
AW: PNG Datei für "Überschrift" vergrößern
Spricht etwas dagegen, einfach ein Label neben die Grafik zu packen?
|
AW: PNG Datei für "Überschrift" vergrößern
Hallo und danke für deine Antwort. Ja, das ganze muss in die PNG geschrieben werden und dann abgespeichert werden. Diese wird dann außerhalb der Software verwendet.
|
AW: PNG Datei für "Überschrift" vergrößern
Du kannst das TPNGImage vergrößern (SetSize oder so) und dann daneben einen Text einfügen, ggf. die neue Fläche in der gewünschten Farbe färben. Das ist kein Problem, es sei denn, die Datei hat einen Alphakanal, da der Alphakanal nicht durchs Zeichnen auf der PNG geändert wird, sprich durchsichtig bleibt.
|
AW: PNG Datei für "Überschrift" vergrößern
Vorsicht, wenn man das Image vergrößert, dann wird der Inhalt gestreckt, wenn ich mich nicht irre. Stattdessen muß man die enthaltene Bitmap nehmen, vergrößern und in ein entsprechend vergrößertes Image (kann dann wohl auch das gleiche sein) reinpacken.
Sherlock |
AW: PNG Datei für "Überschrift" vergrößern
Nö, SetSize bei TPNGImage vergrößert die Zeichenfläche nach links und unten, ohne zu strecken.
|
AW: PNG Datei für "Überschrift" vergrößern
Sehr gut. Ich hatte bisher nur FMX.TImage verwendet, das da wohl anders arbeitet.
Sherlock |
AW: PNG Datei für "Überschrift" vergrößern
Ich würde nichts in 32x37 Bitmap reinschreiben, immer in entsprechend sinnvoll größeres Bitmap, und dann runterskalieren damit es noch lesbar bleibt und nicht extrem pixelig.
Also ein größeres temporäres Bitmap, schreiben, dann auf 32x37 mit Filter skalieren, und dem Orginalbitmap mit Transparenz überlagern. Das 32x37 PNG vorher zu vergrößern würde ich nicht machen, das geht sicher in die Hose. |
AW: PNG Datei für "Überschrift" vergrößern
Danke für die Antworten. Dann gucke ich mal ob ich klar komme. Gibt es hier ggf. passende Beispiele?
|
AW: PNG Datei für "Überschrift" vergrößern
Liste der Anhänge anzeigen (Anzahl: 1)
Stimmt die Angabe der benutzten IDE (Delphi 2007) noch?
Mit einer neueren Delphi-Version (z.B. die kostenlose Rio-Community-edition) könntest Du auch FMX nutzen, da ist das mit wenigen Zeilen machbar, z.B. so:
Delphi-Quellcode:
Wobei sich die Frage stellt, ob hier tatsächlich nur 5 Pixel als zusätzliche Höhe für den Text zur Verfügung stehen sollen? Das wird man kaum lesen können, in der Anlage mal ein Beispiel mit den 5 Pixeln (dann das Original) und 10 Pixeln zusätzlicher Höhe (auch vergrößert dargestellt).
procedure TForm5.Button1Click(Sender: TObject);
var bOld,bNew: TBitmap; AddHeight: Integer; begin AddHeight := 10; bOld := TBitmap.CreateFromFile('D:\crossblue.png'); // New Bitmap ; Addheight = additional height for text bNew := TBitmap.Create (bOld.Width, bOld.Height + AddHeight); bNew.Canvas.BeginScene(); // Copy old Bitmap to new bNew.Canvas.DrawBitmap(bold, bOld.BoundsF, RectF (0, AddHeight, bNew.Width, bNew.Height), 1, true); // Add Text bNew.canvas.ClearRect(RectF (0,0, bNew.Width, AddHeight), TAlphaColorRec.black); bNew.Canvas.Fill.Color := TAlphaColorRec.white; bNew.Canvas.Font.Size := 8; bNew.Canvas.FillText(RectF (0,0, bNew.Width, AddHeight), 'Test', false, 1, [], TTextAlign.Center, TTextAlign.center); bNew.Canvas.EndScene(); bNew.SaveToFile('D:\crossblue2.png'); bOld.Free; bNew.Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz