| 

.NET C# Java Javascript Exception

2
Hey!

Ich suche eine Möglichkeit in C# Bilder um eine Fußzeile zu erweitern, die Fußzeile soll Informationen Information wie Name, Künstler, Erstelldatum, usw... anzeigen.

Wie gehe ich an diese Problem am Besten heran?

mfg
23.08.2011
TheJoeIaut 173 1 6
2 Antworten
0
Hier ist ein anschauliches Beispiel: How to Draw Text on an Image
23.08.2011
Jürgen Luhr 7,1k 2 9
0
Hallo TheJoelaut,

aus Deiner Frage geht leider nicht hervor, ob Du das Ganze mit WinForms oder WPF realisieren willst. Deshalb geh ich auf beide ein.

WPF:
Nutze den AdornerLayer, um den Text über dem Bild anzuzeigen. CodeProject hat ein brauchbares Beispiel.

WinForms:
Das Konzept eines AdornerLayers lässt sich in gewissem Maße auch auf Winforms übertragen. Dazu könntest Du Dir ein neues Control ImageAdornerLayerControl erstellen, das ein beliebiges Bild anzeigt und eine Collection von ImageAdornerControl Objekten enthält. Dann erstellst Du ein TextOverImageAdornerControl, das von ImageAdornerControl ableitet und z.B. ein einfaches Label enthalten könnte, das den Text anzeigt. Dieses hängst Du dann zusammen mit einem Bild in das ImageAdornerLayerControl ein.

Eine einfachere (aber nicht ganz so flexible) Variante wäre ein einziges UserControl, das das Bild anzeigt und das Label mit dem Text direkt enthält. Das braucht nur ein paar Zeilen Code:

public class AnnotatedPictureControl : PictureBox
{
private Label _annotation = new Label();

public AnnotatedPictureControl()
{
this.Controls.Add(_annotation);
this._annotation.BackColor = Color.Transparent;
this._annotation.Location = new Point(0, 0);
}

public string AnnotationText
{
get { return _annotation.Text; }
set { _annotation.Text = value; }
}
}


EDIT: Hab eben bemerkt, dass Du ne Fußzeile und keine Kopfzeile wolltest. Sorry. Aber durch Anpassen der initialien Location und Überschreiben von OnResize kannst Du auch die Fußzeile richtig positionieren bzw. deren Position korrigieren.

Viel Erfolg
Florian
23.08.2011
ffordermaier 8,4k 3 9

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH