![]() |
bmp2jpeg
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo!
Das soll jetzt kein "Kongurenz-Kampf" zwischen arbu man und mir sein... :D Aber ich hab auch so ein Programm Programmiert (schon vor einem halben Jahr). Jedoch hat meines kein GUI, was ich persönlich konfortabler finde. So kann man per Drag'n Drop oder per Kontextmenü ganz schnell Bitmaps in JPEGs konvertieren. Wer das ganze ins Kontextmenü von Windows integrieren will, kann das hier nachlesen: ![]() |
Re: bmp2jpeg
Wozu Forms, Dialogs, ExtCtrls? Auch auf die SysUtils kann man verzichten. Und wozu das:
Delphi-Quellcode:
Wähl doch aus dem Menü -> Neu einfach eine Konsolenanwendung aus.
Application.Initialize;
...; Application.Run; |
Re: bmp2jpeg
Bis auf Dialogs brauch ich alles.
Delphi-Quellcode:
Ich weiß nicht wie das ohne den Standard-Komponenten von Delphi geht (also ohne ParamStr zB).
program bmp2jpeg;
uses Forms, SysUtils, Jpeg, ExtCtrls; {$R *.res} var jpg: TJpegImage; img: TImage; //ExtCtrls i: Integer; temp: string; begin Application.Initialize; //Hierfür die Forms (klar) if (FileExists(ParamStr(1))) and (ExtractFileExt(ParamStr(1)) = '.bmp') then //ParamStr ist in SysUtils try temp := ''; for i := 1 to Length(ExtractFileName(ParamStr(1))) - Length(ExtractFileExt(ParamStr(1))) do temp := temp + ExtractFileName(ParamStr(1))[i]; img := TImage.Create(Application); //Hier brauch ich einen Owner img.Picture.LoadFromFile(ParamStr(1)); jpg := TJpegImage.Create; jpg.Assign(img.Picture.Bitmap); jpg.SaveToFile(ExtractFileDir(ParamStr(1))+'\'+temp+'.jpg'); except end; Application.Run; end. Geht das ohne ParamStr überhaupt? |
Re: bmp2jpeg
Nö, Forms brauchst du auch nicht und ein unsichtbares Image auch nicht.
|
Re: bmp2jpeg
Probiers mal so in der Art:
Delphi-Quellcode:
program bmp2jpeg;
uses Forms, SysUtils, Jpeg, ExtCtrls; // k.A., was du davon brauchst, aber: {$APPTYPE CONSOLE} var jpg: TJpegImage; img: TImage; // Warum nicht TBitmap ? i: Integer; temp: string; begin Application.Initialize; //Brauchst du nicht > weg damit if (FileExists(ParamStr(1))) and (ExtractFileExt(ParamStr(1)) = '.bmp') then //ParamStr ist in SysUtils try temp := ''; for i := 1 to Length(ExtractFileName(ParamStr(1))) - Length(ExtractFileExt(ParamStr(1))) do temp := temp + ExtractFileName(ParamStr(1))[i]; img := TImage.Create(Application); //kannst auch nil nehmen; oder ein Bitmap img.Picture.LoadFromFile(ParamStr(1)); jpg := TJpegImage.Create; jpg.Assign(img.Picture.Bitmap); jpg.SaveToFile(ExtractFileDir(ParamStr(1))+'\'+temp+'.jpg'); except end; Application.Run; //Brauchst du nicht > weg damit end. |
Re: bmp2jpeg
Hallo!
Hab Dein Programm mal etwas überarbeitet, vieles geht etwas einfacher :wink: :
Delphi-Quellcode:
Gruß
program bmp2jpeg;
uses SysUtils, Graphics, Jpeg; {$R *.res} var jpg: TJpegImage; bmp: TBitmap; begin if (FileExists(ParamStr(1))) and (LowerCase(ExtractFileExt(ParamStr(1))) = '.bmp') then // gibt auch .BMP try bmp := TBitmap.Create; // Besser als TImage, muss ja nicht angezeigt werden bmp.LoadFromFile(ParamStr(1)); jpg := TJpegImage.Create; jpg.Assign(bmp); jpg.SaveToFile(ChangeFileExt(ParamStr(1), '.jpg')); // Es gibt ja fertige Funktionen... finally FreeAndNil(bmp); // Aufräumen FreeAndNil(jpg); end; end. xaromz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:50 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