TImage zeigt nichts an
-
hallo
ich habe ein TImage auf meiner Form mit einer Größe von z.B 100x100
jetzt bemale ich das TImage auf einer Fläche von 250x250.
danach vergrößere ich die Fläche des TImages auf 250x250.
Nur leider zeigt er mir nur die Fläche von 100x100 an.
Aber die Height und Width stimmen!
Was muss ich machen das alles angezeigt wird?
Gruß KY
-
Hallo
TCanvas zeichnet immer nur das was auch gerade angezeigt werden kann, alles andere wird ignoriert.
Wenn du später den Bereich vergrößerst must du auch die ganzen Zeichenoperationen neu ausführen.bis bald
akari
-
Bei TImage sollte es reichen, wenn Stretch auf true steht.
-
akari schrieb:
Hallo
TCanvas zeichnet immer nur das was auch gerade angezeigt werden kann, alles andere wird ignoriert.
Wenn du später den Bereich vergrößerst must du auch die ganzen Zeichenoperationen neu ausführen.bis bald
akariDas stimmt leider nicht Akari, denn die Zeichenfläche kann unterschiedlich zur Imagegröße sein.
Festlegen der Zeichengröße:
Image1->Picture->Bitmap->Height=250; Image1->Picture->Bitmap->Width=250; Image1->Canvas->Rectangle(0,0,250,250);Auch bei verkleinern/vergrößern des Image1 bleibt dann die Zeichnfläche 250x250 bestehen.
Auch wenn man z.B. möchte das die Zeichenfläche immer mit der Imagegröße anpasst wird, muss man dies manuell machen.
-
Evtl. würde es hier auch gehen, wenn er in einen TMetafileCanvas schreibt und das dann bei Bedarf auf das Image überträgt.
-
Hallo
@ Braunstein : Nein ich denke nicht das Stretch die gesuchte Lösung ist. Der Ausschnitt soll ja nicht skaliert werden sondern vergrößert, das was vorher außerhalb des Auschnitt lag soll nach Vergrößern mit dargestellt werden.
/Edit : Erster Post war gemeint.@VergissEs :
Ja das geht wirklich. Man müßte also vor dem Zeichnen die maximale Größe über das Picture festlegen. Ob das sinnvoll ist (Man müßte ja von der gesamtfläche des Bildschirmes ausgehen) ist vom Zweck abhängig, eventuell ist ein neuzeichnen nach jeder Größenänderung sinnvoll.bis bald
akari
-
Ja, du hast Recht. Das das mit dem Stretch hier nicht hin haut, habe ich beim nochmaligen Durchlesen dann auch gemerkt.
Also, ersten Beitrag von mir vergessen.