Ich muss eine Bitmap-Grafik zusammenbauen, die auch Text enthält.
Nun wird eine Bitmap-Grafik in Pixeln gemessen, der Font mit dem ich in die Grafik reinschreiben möchte, enthält als Font.Unit aber GraphicsUnit.Point.
Damit kann ich den Text allerdings nicht sauber positionieren, da ich die Größe in Pixel brauche. Weiß jemand, wo man von GraphicsUnit.Point nach GraphicsUnit.Point umrechnen lassen kann?
Umrechnen von GraphicsUnit.Point nach GraphicsUnit.Pixel
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Umrechnen von GraphicsUnit.Point nach GraphicsUnit.Pixel
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Umrechnen von GraphicsUnit.Point nach GraphicsUnit.Pixel
Hmmm... GraphicsUnit.Point nach GraphicsUnit.Point... ist doch ganz einfachXin hat geschrieben:Weiß jemand, wo man von GraphicsUnit.Point nach GraphicsUnit.Point umrechnen lassen kann?

Ich nehme an, du willst pt (Schrift) in pixel umrechnen oder?
Da ich nichts zu tun habe (und das Wiki erst Morgen am Plan steht

http://forum.de.selfhtml.org/archiv/199 ... 59/#m32023
http://www.fledisoft.de/func/twips.php
Ist zwar nicht C#, aber das Prinzip sollte das gleiche sein.
Keine Ahnung ob dir das was bringt

- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Umrechnen von GraphicsUnit.Point nach GraphicsUnit.Pixel
Hab enige erfahrungen mit VC++ und würde desshalb folgendes vorschlagen:
Da das Objekt GraphicsUnit.Point eigentlich nur aus int's usw. besteht, kannst du dir eine KOnvertireung volgendermaßen machen:
Ich weiß nicht wie die Klasse aufgebaut ist, aber sollte so gehen(geht static_cast unter C#?)
Oder unter der Visual Reihe gibts ja die intellLicens(oder so ähnich), es kann sein, das die Klasse schon eine Konvertierungsfunktion bereit hält.
Und für den Notfall würde evt. das gehen:
Unter Vc++ funktioniert das ganze.
Hoffe es kann dir Helfen.
Da das Objekt GraphicsUnit.Point eigentlich nur aus int's usw. besteht, kannst du dir eine KOnvertireung volgendermaßen machen:
Code: Alles auswählen
GraphicsUnt.Pixel = gcnew GraphicsUnit.Pixel(static_cast<int to irgendwas>(GraphiscUnit.Point)...);
Oder unter der Visual Reihe gibts ja die intellLicens(oder so ähnich), es kann sein, das die Klasse schon eine Konvertierungsfunktion bereit hält.
Und für den Notfall würde evt. das gehen:
Code: Alles auswählen
dynamic_cast<Zielobjekt>(Quelle)
Hoffe es kann dir Helfen.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: Umrechnen von GraphicsUnit.Point nach GraphicsUnit.Pixel
@cloidnerux:
Du weißt aber schon, dass es hier um eine Umrechnung zwischen zwei verschiedenen Einheiten geht und nicht um einen Cast?
Du weißt aber schon, dass es hier um eine Umrechnung zwischen zwei verschiedenen Einheiten geht und nicht um einen Cast?
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Umrechnen von GraphicsUnit.Point nach GraphicsUnit.Pixel
Um des Rätsels Lösung preiszugeben:
Graphics enthält eine Funktion Measure-String, die ich auch schon benutzte, um die Länge des Strings zu bestimmen.
Es komm ein SizeF Objekt zurück, das dann die Breite, als auch die gesuchte Höhe enthält.
Graphics enthält eine Funktion Measure-String, die ich auch schon benutzte, um die Länge des Strings zu bestimmen.
Es komm ein SizeF Objekt zurück, das dann die Breite, als auch die gesuchte Höhe enthält.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.