AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Größe eines Bildes auf TImage

Ein Thema von Willie1 · begonnen am 12. Jun 2022 · letzter Beitrag vom 19. Jun 2022
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#1

AW: Größe eines Bildes auf TImage

  Alt 13. Jun 2022, 01:03
aber eigentlich Image1.Pictures.Graphic.Width/Height
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#2

AW: Größe eines Bildes auf TImage

  Alt 13. Jun 2022, 08:47
aber eigentlich Image1.Pictures.Graphic.Width/Height
Kracht halt nur, wenn Graphic = nil ist, was Picture.Width/Height eben abfängt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
698 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

AW: Größe eines Bildes auf TImage

  Alt 14. Jun 2022, 16:53
Ja, das klappt mit Image.Picture.Width/Height.
Mein Programm kan mit bmp, jpg, png, gif, tif und emf umgehen. Ich habe es mit allen außer emf ausprobiert, es klappt.? Danke Freunde.

Trotzdem habe ich noch eine Frage zur Geometrie, die nicht mit programmieren zu tun hat: Eine Seite von Image entspricht Image.Width oder Height. Die andere Seite ergebt sich aus dem Verhältnis von Breite zu Höhe. Wie kann ich ermitteln, ob der Rand rechts oder links oder oben und unten ist? Die Bildfläche soll mittig und so groß, wie möglich sein. Das leistet ja Image.center.

Gruß Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.

Geändert von Willie1 (14. Jun 2022 um 16:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Größe eines Bildes auf TImage

  Alt 14. Jun 2022, 17:19
Wie kann ich ermitteln, ob der Rand rechts oder links oder oben und unten ist?
Was meinst Du mit "Rand"? Ein nicht-transparentes Bild hat immer 4 "Ränder"
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#5

AW: Größe eines Bildes auf TImage

  Alt 14. Jun 2022, 17:39
Delphi-Quellcode:
if Image.Picture.Width < Image.Width then
  { Rand ist links und rechts }
else if Image.Picture.Height < Image.Height then
  { Rand is oben und unten }
else
  { Kein Rand }
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
698 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: Größe eines Bildes auf TImage

  Alt 15. Jun 2022, 16:50
Was meinst Du mit "Rand"? Ein nicht-transparentes Bild hat immer 4 "Ränder"
Ich meine den Rand, der entsteht, wenn die Ratio des Bildes nicht der Ratio von Image entspricht.

Hallo Uwe, ich verstehe deinen Source. Ich meinte nur, wie kann ich das Bild platzieren, wenn mir Picture.Height/Width nicht zur Verfügung nicht zur Verfügung stehen würden. Dann ist es doch Geometrie: Kongruenz.
Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Größe eines Bildes auf TImage

  Alt 15. Jun 2022, 17:32
wenn mir Picture.Height/Width nicht zur Verfügung nicht zur Verfügung stehen würden
Dann stell es doch kurz zur Verfügung?
Delphi-Quellcode:
var
  pict: TPicture;
  w, h: Integer;
begin
  pict := TPicture.Create;
  try
    pict.Assign(DasImage);
    w := pict.Width;
    h := pict.Height;
  finally
    pict.Free;
  end;
  // mach was mit w und h
end;
Gruß vom KodeZwerg

Geändert von KodeZwerg (15. Jun 2022 um 22:09 Uhr)
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#8

AW: Größe eines Bildes auf TImage

  Alt 16. Jun 2022, 15:04
Wenn die Grafik skalliert dargestellt wird ohne das Seitenverhältnis zu verändern, musst du das Seitenverhältnis der Grafik mit dem Seitenverhältnis des Image vergleichen.
Delphi-Quellcode:
d1 := Image.Picture.Width/Image.Picture.Height;
d2 := Image.Width/Image.Heigh;

if d1 < d2 then
   { Rand ist links und rechts }
else if d1 > d2 then
  { Rand is oben und unten }
else
  { Kein Rand }
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.372 Beiträge
 
Delphi 12 Athens
 
#9

AW: Größe eines Bildes auf TImage

  Alt 16. Jun 2022, 17:40
Ja, wenn man nur wissen will wo ein Rand ist, dann besser mit den Seitenverhältnisen und nicht den Seitenlängen rechnen/vergleichen.

Wenn das Bild auch noch gestrecht wird, dann kannst du sowieso nur mit den Radio / dem Seitenverhältnis rechnen, da die Längen ja im Verhältnis stehen, aber nicht direkt vergleichbar sind, wenn das Picture vergrößert/verkleinert dargestellt wird.


wenn mir Picture.Height/Width nicht zur Verfügung nicht zur Verfügung stehen würden
Dann stell es doch kurz zur Verfügung?
Delphi-Quellcode:
var
  pict: TPicture;
  w, h: Integer;
begin
  pict := TPicture.Create;
  try
    pict.Assign(DasImage);
    w := pict.Width;
    h := pict.Height;
  finally
    pict.Free;
  end;
  // mach was mit w und h
end;
Nein, dann nimmt man direkt DasImage.Width und DasImage.Height
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (16. Jun 2022 um 17:45 Uhr)
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
698 Beiträge
 
Delphi 10.1 Berlin Starter
 
#10

AW: Größe eines Bildes auf TImage

  Alt 19. Jun 2022, 09:14
Hallo, der Hintergrund meiner Frage war, dass ich GDI+ benutze und da gibt es kein Center und Streched. Ich weiß jetzt, wie es geht. Man muss die Ratio des Originalbildes berechnen und berücksichtigen, falls das Bild im Hochformat ist. Zur Vorschau, benutze ich die eingebetteten Thumnails, falls vorhanden. Das geht sehr schnell.
Gruß Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 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