Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Image format Conversion ... ab XE (https://www.delphipraxis.net/164197-image-format-conversion-ab-xe.html)

bernhard_LA 2. Nov 2011 13:27

Image format Conversion ... ab XE
 
ich wollte eine kurze Lösung für Bildformate konvertieren mit TWICImage bauen.
leider geht folgende Code nicht :

/// wifBmp Identifies a Bitmap image.
/// wifPng Identifies a PNG image.
/// wifJpeg Identifies a JPEG image.
/// wifGif Identifies a GIF image.
/// wifTiff Identifies a TIFF image

procedure ImageFormatConversion(FileType, OldFilename, NewFilename: String);

var ATWICImage : TWICImage;
begin
ATWICImage.LoadFromFile(OldFilename);

ATWICImage.ImageFormat := wifBmp;

ATWICImage.SaveToFile(NewFilename);

ATWICImage.Free;
end;

Wenn ich ein *.tif Bild lade und versuche ImageFormat auf BMP ziu ändern bekomme ich eine AV. geht mein Ansatz nicht ???
(Lösung wie unter http://www.delphipraxis.net/163577-d...umwandeln.html wollte ich nocht wählen, mein Ansatz wären nur 4 zeilen code)

DeddyH 2. Nov 2011 13:35

AW: Image format Conversion ... ab XE
 
Wo legst Du denn die Instanz an (Create)?

bernhard_LA 2. Nov 2011 13:49

AW: Image format Conversion ... ab XE
 
DANKE !!!

/// wifBmp Identifies a Bitmap image.
/// wifPng Identifies a PNG image.
/// wifJpeg Identifies a JPEG image.
/// wifGif Identifies a GIF image.
/// wifTiff Identifies a TIFF image

procedure ImageFormatConversion(FileType, OldFilename, NewFilename: String);

var ATWICImage : TWICImage;
begin
ATWICImage := TWICImage.Create ;

ATWICImage.LoadFromFile(OldFilename);

ATWICImage.ImageFormat := wifBmp;

ATWICImage.SaveToFile(NewFilename);

ATWICImage.Free;
end;

DeddyH 2. Nov 2011 13:51

AW: Image format Conversion ... ab XE
 
Delphi-Quellcode:
procedure ImageFormatConversion(FileType, OldFilename, NewFilename: String);
var ATWICImage : TWICImage;
begin
  ATWICImage := TWICImage.Create;
  try
    ATWICImage.LoadFromFile(OldFilename);
    ATWICImage.ImageFormat := wifBmp;
    ATWICImage.SaveToFile(NewFilename);
  finally
    ATWICImage.Free;
  end;
end;
Sonst hast Du im Fehlerfall u.U. ein Speicherleck.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz