Autor Beitrag
AnjaB
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 26.07.07 13:26 
Ich möchte gerne den Text, den ich mit Hilfe der Methode DrawString() auf meine Grafik schreibe, mit Blocksatz ausrichten. Ich bin nicht wirklich geübt in .NET, da ich gerade erst anfange. Ich hab schon ziemlich viel rumgesucht, bin aber leider noch nirgends so richtig fündig geworden...

Hier der Code, mit dem ich meinen Text auf die Grafik schreibe:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
  grafik.DrawString(
    text,
    new Font("Helvetica LT 55 Roman"10),
    Brushes.White,
    new RectangleF(5050, width-10320),
    StringFormat.GenericTypographic
   );


Ich habe schon überlegt, irgendwie über den CharacterRange zu gehen, weiß aber nicht wirklich wie.

Und dann würde mich noch interessieren, ob ich statt Brushes.White auch eine eigene Schriftfarbe mit RGB-Werten setzen kann...

Vielen Dank schonmal!
Anja

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Do 26.07.07 13:31 
Wenn du gearde erst anfängst mit C# zu programmieren, würde ich auf net2.0 oder 3.0( oder 3.5) umsteigen, da sich doch von net1.1 zu net2.0 sehr viel verändert hat

PS: zum Thema kann ich nichts sagen, weil ich mit Graphics nicht auskenne :(

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
AnjaB Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 26.07.07 13:47 
Kann ich leider nicht, weil ich es auf der Arbeit nutze und daher leider keinen Einfluss auf die Version habe :-(

Trotzdem danke. ;-)

Habe schon folgendes probiert:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
  StringFormat sf = new StringFormat();
  sf.Alignment = StringAlignment.Far;
  
  grafik.DrawString(
    zeile,
    new Font("Helvetica LT 55 Roman"10),
    Brushes.White,
    new RectangleF(50, yWert, width-10320),
    sf
  );


Das scheint allerdings einfach mal gar keine Wirkung zu haben...

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 27.07.07 12:53 
Hallo Anja,

ich befürchte, dass Du direkt überhaupt keinen Erfolg haben wirst. Die StringAlignment-Enumeration bietet nur drei statt vier Möglichkeiten: Center, Near (= Left in deutscher Schreibweise), Far (= Right), aber kein Justify. Das musst Du wohl durch manuelles Zeichnen eines jeden einzelnen Wortes erledigen.

Bitte beachte, dass auch die RichTextBox für HorizontalAlignment-Enumeration kein Justify kennt.

Gruß Jürgen