Thema: Delphi Online Avatar Resize

Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Online Avatar Resize

  Alt 13. Apr 2006, 08:38
Warum geht bmp nicht...
Das ist doch viel einfacher als GIF und JPG???

Stichwort "StretchDraw"

Oder auch die komplizierte Version z.B. für einen beliebigen Canvas wie Printer...

Delphi-Quellcode:
            Bits := MyImage.Picture.Bitmap.Handle;
            GetDIBSizes(Bits, InfoSize, ImageSize);
            Info := AllocMem(InfoSize);
            try
              Image := AllocMem(ImageSize);
              try
                GetDIB(Bits, 0, Info^, Image^);
                with Info^.bmiHeader do
                  begin
                    DIBWidth := biWidth;
                    DIBHeight := biHeight;
                  end;
                  StretchDIBits(Printer.Canvas.Handle,
                                Screen2PrinterX(ChildControl.Left+Left)-Rand_Links, // rechnet z.B. 96 Screen DPI auf 300 Printer DPI um
                                Screen2Printery(Top)-Rand_Oben,
                                Screen2PrinterX(ChildControl.width),
                                Screen2PrinterY(ChildControl.height),
                                0, 0, DIBWidth, DIBHeight, Image, Info^, DIB_RGB_COLORS, SRCCOPY);
              finally
                FreeMem(Image, ImageSize);
              end;
            finally
              FreeMem(Info, InfoSize);
            end;
Wie gesagt... Kanonen auf Spatzen


Und Animierte Gifs...hmm müsste man die einzelnen Gifs auf Größe anpassen und dann wieder zusammen wegschreiben...

Habe ich auch mal geschrieben, finde leider die Sourcen gerade nicht... Melde mich wenn ich Sie gefunden habe...

Frank
  Mit Zitat antworten Zitat