AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

bmp2jpeg

Ein Thema von faux · begonnen am 29. Mai 2005 · letzter Beitrag vom 29. Mai 2005
Antwort Antwort
Benutzerbild von faux
faux
Registriert seit: 18. Apr 2004
Hallo!

Das soll jetzt kein "Kongurenz-Kampf" zwischen arbu man und mir sein...

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:
http://faux.fa.funpic.de/apps/info/bmp2jpeg.php
Angehängte Dateien
Dateityp: dpr bmp2jpeg_590.dpr (713 Bytes, 22x aufgerufen)
Dateityp: exe bmp2jpeg_202.exe (212,0 KB, 10x aufgerufen)
Dateityp: exe bmp2jpeg_177.exe (475,0 KB, 8x aufgerufen)
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
 
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#2
  Alt 29. Mai 2005, 12:59
Wozu Forms, Dialogs, ExtCtrls? Auch auf die SysUtils kann man verzichten. Und wozu das:
Delphi-Quellcode:
Application.Initialize;
...;
Application.Run;
Wähl doch aus dem Menü -> Neu einfach eine Konsolenanwendung aus.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

 
Turbo Delphi für Win32
 
#3
  Alt 29. Mai 2005, 14:02
Bis auf Dialogs brauch ich alles.

Delphi-Quellcode:
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.
Ich weiß nicht wie das ohne den Standard-Komponenten von Delphi geht (also ohne ParamStr zB).
Geht das ohne ParamStr überhaupt?
Faux Manuel
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#4
  Alt 29. Mai 2005, 14:35
Nö, Forms brauchst du auch nicht und ein unsichtbares Image auch nicht.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#5
  Alt 29. Mai 2005, 14:39
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.
  Mit Zitat antworten Zitat
xaromz

 
Delphi 2006 Enterprise
 
#6
  Alt 29. Mai 2005, 14:43
Hallo!

Hab Dein Programm mal etwas überarbeitet, vieles geht etwas einfacher :
Delphi-Quellcode:
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.
Gruß
xaromz
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:45 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