![]() |
Ein Bild komplett in Image1.Picture anzeigen lassen
Hallo,
wenn das Bild zu groß ist, dann wird nur teilweise vom Bild in Image1.Picture angezeigt Kann man das ganze Bild anzeigen lassen, in dem man das Bild in Image1.Picture scrollt? |
Re: Ein Bild komplett in Image1.Picture anzeigen lassen
Ja! Schau dir mal
![]() |
Re: Ein Bild komplett in Image1.Picture anzeigen lassen
Zitat:
in Object Inspector gibt es mehrere Eigenschaften wie Proportional, Strecken aber kein Scroll. Oder habe ich versehen? Ich möchte aber nur das Bild scrollen und nicht das Form --- |
Re: Ein Bild komplett in Image1.Picture anzeigen lassen
Tipp: TScrollBox
|
Re: Ein Bild komplett in Image1.Picture anzeigen lassen
Du nimmst einfach ein TScrollbox, die Du genau so groß machst, wie du es kannst. Weiß ja nicht ob dein Bildschirm oder was auch immer der limitierende Faktor ist. Dann schiebst Du dein Image im Objektinspektor da rein und kannst es so groß machen, wie es Dir passt.
LG, Markus |
Re: Ein Bild komplett in Image1.Picture anzeigen lassen
Zitat:
Wenn keine andere Möglichkeit außer ScrollBox gibt, bin trotzdem damit zufrieden :mrgreen: |
Re: Ein Bild komplett in Image1.Picture anzeigen lassen
Hallo
Schau dir mal diesen codeschnipsel zum proportionalen resizen an Ein bild als tImage soll so in ein Panel eingeblendet werden, daß es optimal groß proportional dargestellt wird.... Image12.Parent wäre das Panel...
Delphi-Quellcode:
{ JPEGImage }
ms1.Seek(0, soFromBeginning); jpg3.LoadFromStream(ms1); { Resize } if (Image12.Parent.ClientWidth>0) and (jpg3.Width>0) then begin { Seitenverhältnis Container } r1 := (Image12.Parent.ClientHeight/Image12.Parent.ClientWidth); { Seitenverhältnis Bild } if (jpg3.Width>0) then r2 :=(jpg3.Height/jpg3.Width) else r2 := 0.0; { Container passend zum Bild in Übergeordneten Panel einpassen, damit Stretch automatisch funktioniert } if (r1>r2) then begin { Container ist im Verhältnis höher als Bild, also auf Breite anpassen } { Faktor damit Bild so breit wie Container wird } r1 := Image12.Parent.ClientWidth/jpg3.Width; Image12.Width := Image12.Parent.ClientWidth; Image12.Left := 0; Image12.Height := Trunc(r1* jpg3.Height); Image12.Top := (Image12.Parent.ClientHeight-Image12.Height) div 2; end else begin { Container ist im Verhältnis breiter als Bild, also auf Höhe anpassen } { Faktor damit Bild so hoch wie Container wird } r1 := Image12.Parent.ClientHeight/jpg3.Height; Image12.Height := Image12.Parent.ClientHeight; Image12.Top := 0; Image12.Width := Trunc(r1* jpg3.Width); Image12.Left := (Image12.Parent.ClientWidth-Image12.Width) div 2; end; Image12.Picture.Assign(jpg3); end; |
Re: Ein Bild komplett in Image1.Picture anzeigen lassen
Hallo,
wo soll der Code hin? |
Re: Ein Bild komplett in Image1.Picture anzeigen lassen
Du sollst ih nicht kopieren, dass klappt eh nicht weil dein Image beispielsweise sicherlich nicht Image12 heißt, du sollst ihn dir angucken, verstehen wie er resized und das dann in deinem programm implementieren.
|
Re: Ein Bild komplett in Image1.Picture anzeigen lassen
[OT]
Zitat:
Meine Diagnose: 33+/- Jahre, wohnt noch bei Mutti - die wäscht, putzt, kocht und bringt das Essen an den PC, Hartz IV Empfänger ... oder Beamter. [/OT] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz