AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Berechnung von Seitenlängen(Seitenverhältnis)
Thema durchsuchen
Ansicht
Themen-Optionen

Berechnung von Seitenlängen(Seitenverhältnis)

Ein Thema von Prototypjack · begonnen am 29. Mär 2005 · letzter Beitrag vom 30. Mär 2005
Antwort Antwort
Seite 1 von 2  1 2      
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#1

Berechnung von Seitenlängen(Seitenverhältnis)

  Alt 29. Mär 2005, 18:09
Hallo,
Ich habe ein Frage:
Und zwar will ich ein Bild skalieren. Alle Methoden die ich dafür brauche habe ich.
Aber:
Ich brauche ein Funktion die mir angibt wie hoch/breit das Bidl sein soll.
Beispiel:
Ich habe ein Bild, dieses muss ich kleiner machen(as darf beispielsweise nicht breiter als 70px und nicht höher als 100px sein). Die Funktion soll mir dann ausrechnen wie groß das Image ist wenn man das Seitenverhältnis beachtet.
Wenn also das Image 700x1000 ist sollte die Funktion einfach 70x100px ausgeben weil das Image das Seitenverhältnis behalten kann weil die Vorgabewerte passen.
Damit noch nicht genug, die Vorgabe werte sind Variabel(also manchmal darf das img nur 70x100 sein oder es soll nur 60x110 sein oder so...)
Versteht ihr was ich meine?
Und was viel wichtiger ist(^^): Hat jemand vielleicht eine Funktion dafür(oder kann mir dabei helfen eine zu schreiben?)
Danke schonmal,
Max

PS: Ich habe bereits gesucht, aber die gefundenen Sachen sind für mich nicht geeignet.
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: Berechnung von Seitenlängen(Seitenverhältnis)

  Alt 29. Mär 2005, 18:14
Der Faktor, mit dem du Höhe und Breite multiplizieren musst, ist Min(Width/MaxWidth, Height/MaxHeight) .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Berechnung von Seitenlängen(Seitenverhältnis)

  Alt 29. Mär 2005, 20:18
Sry wenn ich jetzt auf dem Schlauch stehe, aber was muss ich damit multiplizieren?
Danke schonmal,
Gruß,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#4

Re: Berechnung von Seitenlängen(Seitenverhältnis)

  Alt 29. Mär 2005, 20:25
Die alte Höhe und Breite, dann bekommst du die neue Höhe und Breite, jedenfalls hoffe ich das .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Berechnung von Seitenlängen(Seitenverhältnis)

  Alt 29. Mär 2005, 20:33
Hallo,
Also ich habe bisher das:
Delphi-Quellcode:
newx :=round(bmp.width * main_frm.scrollbox1.width / bmp.width);
newy :=round(bmp.height * main_frm.scrollbox1.height / bmp.height);
Joar funktionieren tut es schon aber: Die Proportionen, sprich das Verhältnis wird ausser Acht gelassen...
Irgendwie drehen sich da meine Gedanken im Kreis...
Bitte um Hilfe
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Berechnung von Seitenlängen(Seitenverhältnis)

  Alt 29. Mär 2005, 21:04
Moin Proto,

schau Dir das erste Posting von Khabarakh noch einmal genau an.
Du musst jeweils den gleichen Faktor verwenden, und in dem Posting steht, wie man den richtigen errechnet.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Berechnung von Seitenlängen(Seitenverhältnis)

  Alt 29. Mär 2005, 21:25
Ok mittlerweile habe ich das:
aber das bekomme ich die Fehlermeldung das das Handle ungültig ist.
Delphi-Quellcode:
newx :=round(bmp.width * Min(bmp.width/main_frm.scrollbox1.width, bmp.Height/main_frm.scrollbox1.height));
newy :=round(bmp.height * Min(bmp.width/main_frm.scrollbox1.width, bmp.Height/main_frm.scrollbox1.height));
Gruß,
Proto
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Berechnung von Seitenlängen(Seitenverhältnis)

  Alt 29. Mär 2005, 22:50
Moin Proto,

wäre übersichtlicher und schneller, wenn Du das Ergebnis von Min(...) in eine Variable übertragen und diese dann einsetzen würdest.

Die Fehlermeldung kann übrigens nicht von der gezeigten Stelle stammen, da Du dort gar kein Handle ansprichst.
Es wäre zumindest nicht ersichtlich.

BTW:
Wenn Du das ganze in einer Methode von main_frm machst, kannst Du main_frm, aller Voraussicht nach, innerhalb der Methode weglassen.

Sollte sich ein neues Problem ergeben haben (sieht zumindest so aus ), dann mach' dafür aber bitte einen neuen Thread auf.
Danke.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#9

Re: Berechnung von Seitenlängen(Seitenverhältnis)

  Alt 30. Mär 2005, 09:59
Hast du mehrere Instanzen von main_frm?
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Berechnung von Seitenlängen(Seitenverhältnis)

  Alt 30. Mär 2005, 14:19
Naja ich habe mehrere Instanzen von einer Childform, von der aus berechnet wird. Aber das Ziel image ist auf der Mainfrm.

Nochwas:
Ich habe jetzt mal newx und newy per showmessage ausgegeben und kam drauf das viel zu grosse Werte herauskommen(einmal war es glaub ich 30000 oder so)
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz