Avatar billede hugopedersen Nybegynder
08. januar 2013 - 11:10 Der er 1 løsning

Udskrift af JPG fil uden kvalitetstab

Jeg har en JPG fil som jeg laver fra en TWebbrowser som jeg laver med følgende kode
procedure TfrmMain.actSaveExecute(Sender: TObject);
var
  ViewObject : IViewObject;
  r : TRect;
  Bitmap: TBitmap;
  Filename: string;
begin
  Filename := Folders.Path(dirExport) + 'saved.jpg';
  if WebBrowser1.Document <> nil then
    begin
      WebBrowser1.Document.QueryInterface(IViewObject, ViewObject) ;
      if Assigned(ViewObject) then
        try
          Bitmap := TBitmap.Create;
          try
            r := Rect(0, 0, WebBrowser1.Width, WebBrowser1.Height) ;
            Bitmap.Height := WebBrowser1.Height;
            Bitmap.Width := WebBrowser1.Width;
            ViewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Application.Handle, bitmap.Canvas.Handle, @r, nil, nil, 0);
            with TJPEGImage.Create do
              try
                Assign(Bitmap);
                SaveToFile(Filename);
              finally
                Free;
            end;
          finally
            Bitmap.Free;
          end;
        finally
          ViewObject._Release;
        end;
    end;
end;

Hvis jeg ser den i min ACDSee så ser den ret fornuftig ud

Hvis jeg så efterfølgende henter den ind i en TcxImage (DevExpress) så ser den ud at h til. Det som om opløsningen går helt fløjten og man kan dårligt se hvad der er på billedet.
Jeg loader det med    imgPrint.Picture.LoadFromFile(fImage);


Nogen forslag til hvad der kan gøres bedre?

Grunden til at det er en TcxImage er at at den er understøttet af TdxComponentPrinter så jeg kan skrive det ud efterfølgende.

Jeg kunne måske godt skrive ud fra TWebbrowser, men da har jeg ikke kontrol med hvor stort billedet bliver så det kan komme til at fylde flere sider.
Avatar billede hugopedersen Nybegynder
24. januar 2013 - 13:27 #1
Ingen kommentarer = luk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester