Autor Beitrag
schlumsch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

alles Win :)
Delphi 2005 Prof, Delphi 2007
BeitragVerfasst: Do 14.01.10 21:20 
Hallo allerseits,

ich habe eine Frage zum Thema Windows-Hintergrundbild. Ich habe eine Applikation, mit der ich dieses wunderbar setzen kann, entweder gekachelt, zentriert oder auf die Bildschirmbreite skaliert.
Nun würde ich gerne Bilder, welche zu groß oder zu klein sind so skalieren, dass sie komplett auf den Bildschirm passen aber dabei ihr Seitenverhältnis beibehalten wird... sprich ich will keine verzerrten Screens haben aber eben so groß wie möglich.

Hat sich daran evtl schonmal jemand versucht?

thx & lg

_________________
icq 102779206
"God is real, unless declared integer..."
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 14.01.10 22:14 
Hey,

das sollte ganz einfach sein. du musst halt nur das seitenverhältniss der Auflösung berechnen (Screen.Width, Screen.Heihgt). und dann dem entprechend auf dein Bild umrechnen. Un dann erstellst du n neues Bild, wo der Rest schwarz ausgefüllt ist.
Bsp:
Bildschirm: 1280x1024 = 5:4
Bild 800x600 = 4:3
Umrechung auf Bild: 750x600 = 5:4
jetzt hast du die Größe des neuen Bildes un musst nur noch dein Bild in der Mitte platzieren und gestreckt als Hintergrundbild anwenden, fertsch!

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^
schlumsch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

alles Win :)
Delphi 2005 Prof, Delphi 2007
BeitragVerfasst: Do 14.01.10 23:36 
okay, klingt einleuchtend. Nun bin ich noch Leihe auf dem Gebiet Grafik. Ich habe ich auf delphiportal.de/363-jpeg-bild-skalieren gefunden wie ich ein Bild resize. Hier wird auch keine zusätzliche Komponente (TPicture) genutzt, was soweit auch meinen Vorstellungen entspricht. Wie kann ich nun aber das Bild nicht wie in oben genanntem Link malen sondern in einem neuen Fiel abspeichern?

_________________
icq 102779206
"God is real, unless declared integer..."
Bergmann89
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1742
Erhaltene Danke: 72

Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
BeitragVerfasst: Do 14.01.10 23:47 
Hey,

das geht, wie bei allen anderen Sachen in Delphi auch, über SaveToFile oder SaveToStream. Wie du im Link siehst wird zur Bearbeitung des Bilders eine TJPEGImage verwendet. Die findest du in der Unit JPEG.

MfG Bergmann.

_________________
Ich weiß nicht viel, lern aber dafür umso schneller^^