Einzelnen Beitrag anzeigen

aaron

Registriert seit: 18. Feb 2003
202 Beiträge
 
Delphi 2007 Professional
 
#23
  Alt 9. Mär 2003, 17:13
au weja, ich habe mich dann falsch ausgedrückt, entschuldigung!

das mit dem öffnen und speichern habe ich hier, nur das anpassen der höhe ist nicht so wie ich es haben möchte...


Code:
procedure TForm1.Button7Click(Sender: TObject);
var
  i: Integer;
  InFileName, OutFileName: string;
  FilePath, FileName: string;
  JPEG  : TJPEGImage;
  bFrom,bTo : tBitmap;
  aRect : tRect;
    sFile: string;
  wWidth, wHeight: word;
  H1,B1,H2:integer;
begin
       sFile := OpenDialog1.FileName;
  GetJPGSize(sFile, wWidth, wHeight);
  Edit1.Text := IntToStr(wWidth);
   B1:= strtoint(edit1.text);
    Edit2.Text := IntToStr(wHeight);
    H1:= strtoint(edit2.text);

  try
    BFrom := TBitmap.Create;
    BTo := TBitmap.Create;

    JPEG := TJPEGImage.create;
    JPEG.LoadFromFile(opendialog1.FileName);

    //in ein Bitmap übergeben und jpeg freigeben
    BFrom.assign(jpeg);
    JPEG.free;

    //Rechteck als &Zeichnungsfläche zur verfügung stellen
    aRect.top := 0;
    aRect.left := 0;
    aRect.right := 150;
    aRect.Bottom := 150;                  

    //Grösse des Zielbitmaps festlegen
      bTo.Height := 150;     // hier müsste sich die höhe anpassen ????
      bTo.width := 51; // Auf Breite 51 Pixel setzen
     Image1.Proportional := True; //Damit keine Verzerrung entsteht
    //bitmap in das rechteck zeichnen und dem neuen bitmap &Bto& verkleinert übergeben
    Bto.canvas.StretchDraw(ARect, bFrom);

    //verkleinertes Bitmap wieder in jpeg umwandeln
    JPEG := TJPEGImage.create;
    JPEG.Assign(bTo);
    //Kompressionsqualität einstellen und abspeichern
    JPEG.Performance:=jpBestQuality ;

  //  JPEG.compressionQuality := trackbar1.Position;
    JPEG.JPEGNeeded;
    JPEG.compress;
    InFileName:=opendialog1.FileName;
    FileName:=ExtractFileName(InFileName);
   // FilePath:=IncludeTrailingBackSlash(OutDirEdit.Text);
    OutFileName:=Concat('c:\test.jpg');
    JPEG.savetofile(OutfileName);
  //  StatusBar1.SimpleText:='Fertig!';
    BFrom.Free;
    Bto.free;
    jpeg.free;
    except
  end;

    end;
  Mit Zitat antworten Zitat