Einzelnen Beitrag anzeigen

Benutzerbild von vergessen
vergessen

Registriert seit: 29. Jun 2010
85 Beiträge
 
Delphi 5 Professional
 
#14

AW: BMP Resize suche guten Algorithmus

  Alt 26. Jan 2011, 03:51
Bischen umgewandelt, sollte der Code von hier auch intressant sein.
@lbccaleb Post#12:

Vielen Dank für den Link zu http://www.swissdelphicenter.ch/torr...de.php?id=1896 !

Dort ist aber leider mindestens ein Fehler drin

Alt:
Delphi-Quellcode:
function LoadJPEGPictureFile(Bitmap: TBitmap; FilePath, FileName: string): Boolean;
var
  JPEGImage: TJPEGImage;
begin
  if (FileName = '') then // No FileName so nothing
    Result := False //to load - return False...
...

Neu:
Delphi-Quellcode:
function LoadJPEGPictureFile(Bitmap: TBitmap; FilePath, FileName: string): Boolean;
var
  JPEGImage: TJPEGImage;
begin

  Result := True; // <= wurde "vergessen" ;-)

  if (FileName = '') then // No FileName so nothing
    Result := False //to load - return False...
...
Nachwievor liefert aber die

function JPEGDimensions(Filename : string; var X, Y : Word) : boolean;

bei mir falsche x- und y-Werte ab

=====

Sehr nett ist, wenn man bei

Delphi-Quellcode:
procedure ResizeImage(FileName: string; MaxWidth: Integer);
var
  OldBitmap: TBitmap;
  NewBitmap: TBitmap;
  aWidth: Integer;
begin
  OldBitmap := TBitmap.Create;
  try
    if LoadJPEGPictureFile(OldBitmap, ExtractFilePath(FileName),
      ExtractFileName(FileName)) then
    begin
      aWidth := OldBitmap.Width;
      if (OldBitmap.Width > MaxWidth) then
das
      if (OldBitmap.Width > MaxWidth) then durch
      if (OldBitmap.Width <> MaxWidth) then ersetzt.

Dann Vergrößert die Prozedur sogar recht brauchbar

LG
vergessen


Edit möchte wissen, wie man nachträglich Delphi-Tags setzt. Die Mods können es ja schließlich auch...

Edit2 hat versucht, nachträglich Delphi-Tags zu setzen Dank an Bummi & f.kerber.
Dachte, das ginge einfacher (Markieren und irgendwo draufklicken) ;-(

Geändert von vergessen (26. Jan 2011 um 09:55 Uhr) Grund: Delphi-Tags nachträglich (hoffentlich richtig) gesetzt.
  Mit Zitat antworten Zitat