Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Bild vergrößern mit StretchBlt

  Alt 2. Apr 2009, 11:26
Zitat von EWeiss:
Erst mal solltest du nie TImage.Create
innerhalb eines Try Block setzen das hat zur folge das help nicht initialisiert wird.
Das verstehe ich zwar nicht. Aber ist wohl mein Fehler. Habe grad nochmal mein Delphi-Buch befragt und das macht das Create auch vor dem Try. Sei's drum

Zitat von EWeiss:
2. wenn du das Bild einlädst und keinen Rahmen willst dann mußt du
die höhe und weite von Image1 dem eingeladenen Bild anpassen. (quasi um den scale factor)
Klingt einleuchtend. Gegengfrage: Wozu gibt es dann die Eigenschaften Stretch etc. Ich bin immer davon ausgegangen, dass genau das dann automatisch passiert. Und wie passe ich die Höhe und Breite von Image1 dem eingeladenen Bild an? Das bedeutet doch, dass ich diese Werte vor dem Laden ermitteln muss. Denn eine Abfrage von Width und Height nach dem Laden dürfte nichts bringen, wenn sich das TIMage nicht selbst anpasst...

Zitat von EWeiss:
3. wenn das bild nicht genau die ausmaße von image1 hat nicht den bereich
von 0,0 kopieren denn da ist Image1 nun mal grau.
Auch das ist nachvollziehbar. Etwas verstehe ich aber auch hier nicht:
Mein TImage im Formular ist exakt quadratisch. Mein Hilfs-TIMage ist unmittelbar nach dem Anlegen und Auslesen der Werte 0x0. Zumindest dieses müsste sich dann doch an die Bildgröße automatisch anpassen; sollte man jedenfalls annehmen.
Es kommt hinzu, dass mein Testbild im Querformat ist. Angezeigt wird es daher sowohl unten als auch oben mit grauem Rand. Warum ist der dann aber in meinem Ergebnis nur unten? Es kommt hinzu, dass das Ergebnis ja auch nicht etwas quadratisch wäre.

@xaromz
Das stimmt. Es ist nur ein Überbleibsel von StretchDraw, was mit TBitmap nicht will. Ich hatte das zunächst - erfolglos - probiert, weil ich den Ausführungen im Forum an anderer Stelle entnahm, dass beide dieselben Funktionen benutzen würden und ich StretchDraw schon - erfolgreich - benutze, um zu drucken.

Es tut mir Leid, wenn ich's idiotensicher brauche und dadurch nerve.

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat