Einzelnen Beitrag anzeigen

Relicted

Registriert seit: 24. Jan 2006
Ort: Iserlohn
646 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Kann man ein 32Bit JPEG aus einem TBitmap erzeugen

  Alt 19. Mär 2007, 10:44
hi!

klar kann man wenn du es selbst machen willst dann schau hier - ist sehr hilfreich:

http://de.wikipedia.org/wiki/Jpeg
ich kann dir aber auch gleich noch nen algo schreiben... muss nu erstmal kaffe trinken

edit:

Delphi-Quellcode:
function TForm1.setJPGFileName(BMPFileName: string): string;
var
  i:integer;
  s:string;
begin
  s:=ExtractFileName(BMPFileName);
  for i:=1 to 3 do delete( s,Length(s),1 );
  result := s+'jpg';
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  fNameBMP, fNameJPG : string;
  pic : timage;
begin
  if OpenPictureDialog1.Execute then
  begin
    fNameBMP:=uppercase( OpenPictureDialog1.FileName );
    if ExtractFileExt( fNameBMP ) = '.BMPthen
    begin
      try
        pic := TImage.Create( nil );
        pic.Picture.LoadFromFile( fNameBMP );

        with TJPEGImage.Create do
        begin
          try
            Performance := jpBestQuality;
            CompressionQuality := TrackBar1.Position;
            assign( pic.Picture.Graphic );
            fNameJPG := setJPGFileName( fNameBMP );
            SaveToFile( fNameJPG );
          finally
            Free;
          end;
        end;
      finally
        pic.free;
      end;
    end;
  end;
end;
was du brauchst ist:
eine form, einen button, einen openpicturedialog und eine trackbar mit range 1..100

ich habs mal ned kommentiert... sollte selbsterklärend sein

edit2: sorry vergessen das pic wieder freizugeben... nu sollte es klappen

gruß
reli
  Mit Zitat antworten Zitat