AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [gelöst] Bild vergrößern mit StretchBlt
Thema durchsuchen
Ansicht
Themen-Optionen

[gelöst] Bild vergrößern mit StretchBlt

Ein Thema von Schwedenbitter · begonnen am 1. Apr 2009 · letzter Beitrag vom 2. Apr 2009
 
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Bild vergrößern mit StretchBlt

  Alt 2. Apr 2009, 11:23
Zitat von EWeiss:
Hier ein Bild.. denke so soll es sein oder ?
Nein, leider nicht. Das Image1 ist zweitrangig. Ich will nicht das Bild im Programm ausgeben. Das macht doch TImage allein passend, wenn man die Eigenschaften richtig setzt.

Ich möchte:
1. Bild laden (egal welche Größe)
2. vergrößern oder verkleinern auf 1660x2340 (= DINA4 bei 200 dpi)
3. DINA4-Bild abspeichern

Und so klappt es jetzt endlich, auch wenn Du erster warst:
Delphi-Quellcode:
Procedure TForm1.Button5Click(Sender: TObject);
Var
   H,B         : Integer;
   Quelle,Ziel   : TImage;
Begin
   If OpenDialog1.Execute Then
   Begin
      Quelle:=TImage.Create(self);
      Ziel:=TImage.Create(self);
      Try
         Quelle.Picture.Bitmap.LoadFromFile(OpenDialog1.FileName);
         B:=Quelle.Picture.Bitmap.Width;
         H:=Quelle.Picture.Bitmap.Height;
         If H>B Then
         Begin
            Ziel.Width:=1660;
            Ziel.Height:=2340;
            StretchBlt(Ziel.Canvas.Handle,   // Ziel
                       0,0,1660,2340,         // Ziel Ausmaße
                       Quelle.Canvas.Handle,   // Quelle
                       0,0,B,H,               // Ausmaße Quelle
                       SRCCOPY)
         End
         Else
            Ziel.Width:=2340;
            Ziel.Height:=1660;
            StretchBlt(Ziel.Canvas.Handle,   // Ziel
                       0,0,2340,1660,         // Ziel Ausmaße
                       Quelle.Canvas.Handle,   // Quelle
                       0,0,B,H,               // Ausmaße Quelle
                       SRCCOPY);
         Ziel.Picture.Bitmap.SaveToFile(OpenDialog1.FileName+'_neu.bmp');
      Finally
         Quelle.Free;
         Ziel.Free;
      End;
   End;
End;
Danke an alle, die so aktiv mitgedacht haben!!!
Alex Winzer
  Mit Zitat antworten Zitat
 


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 11:01 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