Avatar billede west Nybegynder
19. februar 2001 - 00:35 Der er 5 kommentarer og
1 løsning

udskriv - FIT TO PAGE funktion

hejsa
jeg har lavet en PrintDialog knap, som fint skriver det billede ud jeg ønsker.
Mit problem er bare, at den kun skriver det ud som str. ca. 10x15.
er de muligt at gøre et eller andet så den skriver ud så billedet fylder HELE siden (fit to page - agtig funktion)

mvh kristian
Avatar billede seider Nybegynder
19. februar 2001 - 00:43 #1
jeg tror faktisk det bare er et spørgsmål om at skifte papir størelsen ud, har du prøvet at studere online hjælp ?

Hvis det er a4 kan du bare resize til 21,7 gang 29 som er A4 format, den køre sikkert letter eller noget andet sygt som standard.

/* seider */
Avatar billede dudesicko Novice
19. februar 2001 - 01:21 #2
Nej det er ikke korrekt seider :)

det er 21 * 29,7.

Men det skal lige siges at der er ingen A¤ printere der skriver til denne størrelse, hver printer har en kant hvor de ikke kan skrive ud over.

Jeg tror at de fleste printere kan klare denne størrelse.
20,29 * 28,3 cm eller 1598 * 2228 pixels.
Men husk at vælge stående billede til de mål, skal billedet ligge ned så skal tallene skiftes om.

</martin>
Avatar billede martinlind Nybegynder
19. februar 2001 - 09:27 #3
Hej Kristian, vi skal nok få løst problemmet

/Martin
Avatar billede nico26 Nybegynder
20. februar 2001 - 00:12 #4
det her kan måske bruges

procedure TForm1.Button1Click(Sender: TObject);
var
  Bitmap: TBitmap;
  PixelsX, PixelsY,
  NumPixelsX, NumPixelsY,
  PrintWidth, PrintHeight,
  OffSetX, OffSetY: Integer;
  PrintRect: TRect;
begin
  Bitmap := TBitmap.Create;
  try
    Bitmap.LoadFromFile(\'bitmap.bmp\');
    NumPixelsX := GetDeviceCaps(Printer.Handle, HORZRES); //højde i pixels
    NumPixelsY := GetDeviceCaps(Printer.Handle, VERTRES); //bredde i pixels
    PixelsX := GetDeviceCaps(Printer.Handle, LOGPIXELSX); //pixels pr inch
    PixelsY := GetDeviceCaps(Printer.Handle, LOGPIXELSY); //pixels pr inch

    PrintWidth := Round(Bitmap.Width * (PixelsX / Screen.PixelsPerInch));
    PrintHeight := Round(Bitmap.Height * (PixelsY / Screen.PixelsPerInch));
    OffSetX := (NumPixelsX - PrintWidth) div 2;
    OffSetY := (NumPixelsY - PrintHeight) div 2;

    //Billedets placering på siden
    PrintRect := Rect(OffSetX, OffSetY,
                      PrintWidth + OffSetX, PrintHeight + OffSetY);

    Printer.BeginDoc;
    Printer.Canvas.StretchDraw(PrintRect, Bitmap);
    Application.ProcessMessages;
    Printer.EndDoc;
  finally
    Bitmap.Free;
  end;
end;
Avatar billede martinlind Nybegynder
20. februar 2001 - 10:01 #5
Hej Kristian, som du kan se på nico22\'s eks. er det ikke bare at bruge printdialog, så brug du min smartprinter.

/Martin
Avatar billede west Nybegynder
25. februar 2001 - 03:35 #6
da jeg ikk gider at hvide det alligevel så lukker jeg bare det her spørgsmål
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