Autor |
Beitrag |
schlumsch
      
Beiträge: 122
alles Win :)
Delphi 2005 Prof, Delphi 2007
|
Verfasst: Do 25.02.10 23:07
Hallo allerseits,
ich möchte mit Delphi ein Bild skalieren und dann als Hintergrundbild einrichten. Für das skalieren selber finde ich mit Sicherheit eine Howto (wenn jemand einen Link hat: immer her damit *g*) aber dann müsste ich das Bild als neues Bild speichern (Temp oder so) und setzen, richtig?
Vielleicht hat ja schon jemand mal so etwas gemacht und kann mir da einen Rat geben, thx Moderiert von Narses: Topic aus Algorithmen, Optimierung und Assembler verschoben am Do 25.02.2010 um 23:53
_________________ icq 102779206
"God is real, unless declared integer..."
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Do 25.02.10 23:48
Zum setzen des Desktophintergrund hab ich das hier in meinen Untiefen gefunden:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| procedure SetBackground(const AFilename: String); begin if not SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(AFilename), SPIF_SENDCHANGE OR SPIF_UPDATEINIFILE) then RaiseLastOSError; End; |
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
schlumsch 
      
Beiträge: 122
alles Win :)
Delphi 2005 Prof, Delphi 2007
|
Verfasst: Fr 26.02.10 11:18
Ja nee mein Problem ist nicht unbedingt das setzen des Bildes selber, das mach mein Prog. ja jetzt schon. Zum einen interessiert mich wie ich ein Bild "mal so schnell" und vor allem ressourcenschonend skaliere und was ich dann mit dem skalierten bild mache - eben save2newfile oder?
_________________ icq 102779206
"God is real, unless declared integer..."
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Fr 26.02.10 14:08
Hmm, naja, ich würde mal sagen, du lädst das Bild in ein Image, ziehst das Image größer (Stretch=True, Proportional=True, AutoSize=False)...hmm, und dann ist die Frage, wie man an das größere Bild rankommt.
Ich glaub nicht dass man das Image einfach wieder mit SaveToFile speichert und dann ists größer, musst du mal testen. Ansonsten kannst du z.B. noch probieren Picture.Bitmap z.B. abzuspeichern (wenn du ein bmp geladen hast).
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
Tilman
      
Beiträge: 1405
Erhaltene Danke: 51
Win 7, Android
Turbo Delphi, Eclipse
|
Verfasst: Fr 26.02.10 19:47
Du kannst das Bild mit StretchDraw in ein Bitmap zeichnen. Ob du dieses Bitmap dann nur zur Laufzeut verwendest, oder abspeicherst, bleibt dir dann selbst überlassen. Es gibt auch noch andere Funktionen mit mehr Optionen, mit denen man auch schönere Stretch Ergebnisse erhalten kann, glaube StretchBlt und StretchBltMode waren das.
_________________ Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
|
|
schlumsch 
      
Beiträge: 122
alles Win :)
Delphi 2005 Prof, Delphi 2007
|
Verfasst: Fr 26.02.10 21:38
Okay, ich werde mich mal zu StretchBlt schlau machen und danke schonmal an dieser Stelle.
_________________ icq 102779206
"God is real, unless declared integer..."
|
|
|