Entwickler-Ecke

Dateizugriff - JPEG to BMP convertieren


patmann2001 - Mi 09.10.02 14:33
Titel: JPEG to BMP convertieren
Hallo
Ich habe da eine Procedure.

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure JPEGtoBMP(FileNameJPG,FileNameBMP : string);
var jpeg : TJPEGImage;
    bmp : TBitmap;
begin
     jpeg:= TJPEGImage.Create;
     try
        jpeg.LoadFromFile(FileNameJPG );
        bmp:= TBitmap.Create;
        try
            bmp.Assign(jpeg);
            bmp.SaveTofile(FileNameBMP);
        finally
               bmp.free
        end;
     finally
            jpeg.free 
    end; 
end;

Die funktioniert auch super. Ich habe da jetzt jedoch ein JPEG, wenn ich das in ein BMP mit dieser Procedure umwandle wird im BMP der Inhalt zweimal nebeneinander dargestellt. Einmal Richtig und einmal Invertiert.
Siehe Original [http://home.t-online.de/home/auge55/delphi/Tatoos.jpg] und Convertierung [http://home.t-online.de/home/auge55/delphi/picwallpaper.bmp]
Wenn ich das Bild aber dann in einem Image lade,

Quelltext
1:
image.Picture.LoadFromFile('temp.bmp');                    

Sieht es ganz normal aus. Aber z.B. mit ACDSee sieht man, das da was nicht stimmt. Die meisten meiner JPGS funktioniren aber mit der Procedure oben. Was mache ich da falsch?

cu Patmann


bis11 - Mi 09.10.02 15:49

Probiere es mal mit diesem Beispiel :

...ein JPEG in ein BMP konvertieren? [http://www.swissdelphicenter.ch/de/showcode.php?id=20]


Delete - Mi 09.10.02 16:36

@bis11: Hast du dir die Quellcodes mal angesehen und verglichen? :roll:


patmann2001 - Mi 09.10.02 19:56

Danke Luckie :lol:
Das wollte ich auch sagen :eyecrazy:

cu Patmann


patmann2001 - So 13.10.02 10:19

Hi
Ich habe das Problem selber gelöst :lol:
Ich hatte vergessen zu erwähnen, das ich die Bilder mithilfe einer Rechen Procedure auf Bildschirmgrösse verkleinere. In der Berechnung wurde am Schluss dummerweise die Bildhöhe und Bildbreite erneut zugewiesen. Das Verschob dann das ganze Bild. :roll:

cu Patmann