Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   BMP Resize suche guten Algorithmus (https://www.delphipraxis.net/157776-bmp-resize-suche-guten-algorithmus.html)

rollstuhlfahrer 25. Jan 2011 12:14

AW: BMP Resize suche guten Algorithmus
 
Grad mal ne andere Frage: Reicht es denn nicht, einfach ein
Delphi-Quellcode:
SetStretchBltMode(thumbnail.Canvas.Handle, HALFTONE);
SetBrushOrgEx(thumbnail.Canvas.Handle, 0, 0, nil);
vor das StretchDraw zu setzen? Eventuell auch mal das StretchDraw gegen Delphi-Referenz durchsuchenStretchBlt() austauschen.

Bernhard

lbccaleb 25. Jan 2011 15:51

AW: BMP Resize suche guten Algorithmus
 
Bischen umgewandelt, sollte der Code von hier auch intressant sein.

ATS3788 25. Jan 2011 16:54

AW: BMP Resize suche guten Algorithmus
 
Zitat:

Reicht es denn nicht
rollstuhlfahrer, Hätte ich die frage sonst gestellt ?!

Habe doch geantwortet das Bummis Idee richtig gute Ergebnisse liefert.
Ich habe noch eine Corel5 Image CD mit tausenden CMX files und
so habe ich tausende Bilder wo ich das Copyright nicht beachten muss
und die Bitmaps sollen eben ganz ordentlich aussehen.

vergessen 26. Jan 2011 02:51

AW: BMP Resize suche guten Algorithmus
 
Zitat:

Zitat von lbccaleb (Beitrag 1077231)
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
Delphi-Quellcode:
      if (OldBitmap.Width > MaxWidth) then
durch
Delphi-Quellcode:
      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) ;-(

Bummi 26. Jan 2011 07:22

AW: BMP Resize suche guten Algorithmus
 
Code:
[delphi]
Code...
[/delphi]


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr.
Seite 2 von 2     12   

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