Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ein Bild komplett in Image1.Picture anzeigen lassen (https://www.delphipraxis.net/100801-ein-bild-komplett-image1-picture-anzeigen-lassen.html)

taktaky 4. Okt 2007 00:03


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?

Muetze1 4. Okt 2007 01:15

Re: Ein Bild komplett in Image1.Picture anzeigen lassen
 
Ja! Schau dir mal Delphi-Referenz durchsuchenTScrollBox an!

taktaky 4. Okt 2007 09:56

Re: Ein Bild komplett in Image1.Picture anzeigen lassen
 
Zitat:

Zitat von Muetze1
Ja! Schau dir mal Delphi-Referenz durchsuchenTScrollBox an!

Und wie?
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

---

Blackheart 4. Okt 2007 10:01

Re: Ein Bild komplett in Image1.Picture anzeigen lassen
 
Tipp: TScrollBox

brinkee 4. Okt 2007 10:25

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

taktaky 4. Okt 2007 10:32

Re: Ein Bild komplett in Image1.Picture anzeigen lassen
 
Zitat:

Zitat von Blackheart
Tipp: TScrollBox

Vielen Dank!

Wenn keine andere Möglichkeit außer ScrollBox gibt, bin trotzdem damit zufrieden :mrgreen:

peschai 4. Okt 2007 10:57

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;

taktaky 4. Okt 2007 11:41

Re: Ein Bild komplett in Image1.Picture anzeigen lassen
 
Hallo,

wo soll der Code hin?

inherited 4. Okt 2007 11:45

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.

Nuclear-Ping 4. Okt 2007 11:55

Re: Ein Bild komplett in Image1.Picture anzeigen lassen
 
[OT]
Zitat:

Zitat von taktaky
Hallo,

wo soll der Code hin?

Oh mein Gott ... :wall:

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.
Seite 1 von 2  1 2      

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