Autor Beitrag
domian24
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 23.10.07 11:30 
Hallo erstmal,
ich bin im Informatikkurs und habe dort ein Problem:
Meine Gruppe soll mehrere Images, die sich im Formular Bewegen (sind eigentlich größer, aber gestrecht), zu einem bestimmten Zeitpunkt auf das Image im Hintergrund reduzieren. Das neue Bild soll gespeichert werden, muss aber die Originalgröße der Bilder haben (nicht die gestrechte Version)!

Bsp:
ImageH im Formular: 650x650 (Original: 1300x1300)
Image1 im Formular 250x250 (Original: 450x450)
Image2 im Formular 200x200 (Original: 300x300)

ImageH ist der Hintergrund. Image1 und Image2 sind immer im vordergrund und innerhalb des ImageH.
Nun soll auf Knopfdruck Image1 und Image2 auf ImageH reduziert werden, aber in der Originalgröße!
Das "große" Bild soll anschließend in einer Datei gespeichert werden.

Danke im voraus!
Domian
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 29.10.07 01:19 
Moin und :welcome: im Forum!

user profile icondomian24 hat folgendes geschrieben:
mehrere Images, die sich im Formular Bewegen (sind eigentlich größer, aber gestrecht), zu einem bestimmten Zeitpunkt auf das Image im Hintergrund reduzieren.
So kannst du ein Bitmap, dass in Image2 geladen ist, auf das Bitmap in Image1 an (0,0) zeichnen. Dabei spielt es keine Rolle, ob die Images gestreckt angezeigt werden:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
begin
  BitBlt(Image1.Picture.Bitmap.Canvas.Handle,
         0,0,
         Image2.Picture.Bitmap.Width,Image2.Picture.Bitmap.Height,
         Image2.Picture.Bitmap.Canvas.Handle,
         0,0,
         SRCCOPY);
  Image1.Invalidate; // Image auf dem Formular aktualisieren
end;

user profile icondomian24 hat folgendes geschrieben:
Das neue Bild soll gespeichert werden, muss aber die Originalgröße der Bilder haben (nicht die gestrechte Version)!
Auch das ist kein Problem, einfach das Bitmap speichern:
ausblenden Delphi-Quelltext
1:
Image1.Picture.Bitmap.SaveToFile('C:\Test.bmp');					

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.