Autor Beitrag
Geosucher
Hält's aus hier
Beiträge: 4

Windows
Delphi, FORTRAN, C
BeitragVerfasst: Di 06.11.07 09:20 
Hallo zusammen,

habe ein größeres Problem mit der Grafik in meinem Programm: Ich zeichne in den Canvas meines Images. Davor rechne ich die benötigte Höhe und Breite des Bildes aus und setze Image Height und Width auf die entsprechenden Werte. Wenn ich mir dann mein Resultat ansehe, ist die Grafik bei einer Höhe von 2000 Pixeln abgeschnitten. Mit dem Debugger habe ich dann gefunden, dass die Image-Höhe richtig auf 3040 Pixel berechnet ist. Der Wert von Image1.Picture.Height steht aber auf 2000. Der Blick in die Hilfe verrät dann, dass die Picture-Höhe read-only Wert ist... Was tun?
Hat jemand eine Idee, was ich machen kann?

Viele Grüße

Geosucher
Logikmensch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 390

Win XP
Delphi 2007 Prof., XE2, XE5
BeitragVerfasst: Di 06.11.07 09:40 
Bin mir jetzt nicht vollkommen sicher, aber ich glaube auch, dass das gesperrt ist.
Wenn Du allerdings auf eine separate Bitmap zeichnest, dort die Größe zuweist und nach dem Zeichnen die Bitmap über Assign in das Image assignst, dann sollte das aber gehen.
Image.Picture.Assign oder Image.Picture.Bitmap.Assign(tempbmp) sollten auch immer die Image-Größe mitändern.

_________________
Es gibt keine Probleme - nur Lösungen!
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Di 06.11.07 10:15 
Alternativ dazu kannst du natürlich auch die Größe von Image.Pixture.Bitmap direkt verändern. Denn das ist das was in diesem Falle als Grundlage dient und das Picture greift nur lesend auf das Bitmap zu. Die Aufrufe von Image.Canvas landen im Endeffekt auch bei Image.Picture.Bitmap.Canvas.

Das TImage verschleiert die eigentlichen Zugriffe ziemlich stark.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.