AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textout Position

Ein Thema von LuckyLucas · begonnen am 11. Apr 2006 · letzter Beitrag vom 13. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
LuckyLucas
(Gast)

n/a Beiträge
 
#1

Textout Position

  Alt 11. Apr 2006, 20:56
Moinsen,

meine Frage: Wenn ich canvas.textout benutze und als X/Y-Parameter jeweils eine 0 übergebe, sollte der Text doch eigentlich in der linken oberen Ecke liegen, gell? Aber er wird erst in einem bestimmten Abstand von links/oben geschrieben - wie kann man das vermeiden? Vorher lege ich auch die Height bzw. Size und Name der canvas.font fest, liegt's daran?

Oder besser gesagt (das, was ich haben möchte): Wie kann man einen Text in einem canvas von einer Bitmap ausgegeben, sodass er die komplette Höhe der canvas füllt?
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#2

Re: Textout Position

  Alt 11. Apr 2006, 21:04
Das ist nicht so leicht...
vlt. helfen dir die Funktionen TextHeight bzw. TextWidth weiter...
somit kannst du dann die Höhe des Canvas auf das^^ setzen (wird dann aber auch nicht ganz das Bild ausfüllen)
sonst musst du wahrscheinlich die einzelnen Pixel (z. B. via ScanLine) abfragen und dann schauen, ob die oberste Zeile nur die Hintergrundfarbe hat, dann die zweite usw. und dann das Bild hinaufschieben...

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Textout Position

  Alt 12. Apr 2006, 11:39
Die Frage ist vor allem: Muss die Font-Höhe angepasst werden oder kann auch die Bitmapgrösse angepasst werden? Letzteres ist einfacher und wenn du das Bild woanders wieder malen willst, kannst du es ja unabhängig von seiner Grösse mit StretchBlt() bzw. CopyRect() auf die Zielfläche anpassen lassen.
  Mit Zitat antworten Zitat
LuckyLucas
(Gast)

n/a Beiträge
 
#4

Re: Textout Position

  Alt 12. Apr 2006, 13:51
Zitat:
sonst musst du wahrscheinlich die einzelnen Pixel (z. B. via ScanLine) abfragen und dann schauen, ob die oberste Zeile nur die Hintergrundfarbe hat, dann die zweite usw. und dann das Bild hinaufschieben
das habe ich mir auch schon überlegt, aber das ist so die letzte Möglichkeit,ich dachte, da gibts eine andere Methode oder Parameter, um das Problem zu lösen...und ja, der Buchstabe soll genauso groß, wie die Zeichenfläche.

Und wo wir grade dabei sind: Der Unterschied zwischen Size und Height des Font-Attributs ist ja eigentlich, dass Size die Größe der Buchstaben in pt, und Height die Größe in den tatsächlichen px angibt: Aber, ich habe das mal auf Screenshots nachgemessen: es ist immer genau andersrum, und dann auch noch mit negativen Werten bzw. auch wieder nicht...???
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Textout Position

  Alt 12. Apr 2006, 14:50
Ja, soviel ich weiß müsste Size in pt und Height in px sein. EIn negativer Wert heißt jedoch, dass eigentlich das andere (Size -> Height bzw. Height -> Size) verwendet wird, und der Betrag nur eine Umrechnung ist...

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Textout Position

  Alt 12. Apr 2006, 15:01
... mit der DPI des Zielcanvas.

Alles nachzulesen in der Hilfe bei den entsprechenden Eigenschafte - samt Umrechnungsformel.
  Mit Zitat antworten Zitat
LuckyLucas
(Gast)

n/a Beiträge
 
#7

Re: Textout Position

  Alt 12. Apr 2006, 16:33
Naja, werd ich wohl die eigentliche Schrift zum Ursprung kopieren müssen, bleibt nichts anderes übrig.

Aber kann mir einer sagen, was das für ein freier Rand oben/unten und links/rechts beim Textout ist? Die Size/Height der eigentlichen Buchstaben stimmt, aber die Textwidth/Textheight ist jeweils um einiges größer (umfasst also diesen Rand, d.h. gehört zu der Schrift). Aber so etwas wie einen Zeilenabstand o.ä. gibt es doch eigentlich nicht... Hat jemand eine Idee?
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Textout Position

  Alt 12. Apr 2006, 18:37
Hatten wir gerade hier
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#9

Re: Textout Position

  Alt 12. Apr 2006, 19:36
Mal die Frage: Wozu brauchst du das, gibt es vlt. auch eine andere Möglichkeit?

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#10

Re: Textout Position

  Alt 12. Apr 2006, 21:24
Zitat von Delphi-Freak:
Mal die Frage: Wozu brauchst du das, gibt es vlt. auch eine andere Möglichkeit?

LG, ich
Wollte ich auch schon wissen, aber solche Fragen ignoriert er einfach komplett...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz