Avatar billede trolle Nybegynder
08. april 2000 - 14:27 Der er 8 kommentarer og
2 løsninger

Gem/print af billede

Her er der en forhåbentlig lille let en, som irriterer mig grusomt:

jeg har lavet to billeder ved hjælp af "image1.canvas.pixels[x,y]:= farve" hvilket vil sige at dette billede ikke har et fil navn... Sagen er så den at jeg vil gemme disse billeder som to nye bmp filer... Hvordan gør jeg det...

(Der skal nok lige lægges mærke til at det er delphi 2 jeg bruger så måske kan den ikke alle mulige fix faxerier)

Jeg ved godt at det er et dobbelt spørgsmål, men det ville være kannon fedt hvis der var en der lige kunne forklare hvordan man printer en af disse selvlavede billeder ud.

ps. Jeg vil gerne have så simple svar som muligt...

Avatar billede stoons Nybegynder
08. april 2000 - 15:00 #1
image1.refresh {Er jeg ikke engang sikker på er nødvendig}
image1.picture.savetofile(filnavn);

= )
Avatar billede stoons Nybegynder
08. april 2000 - 15:02 #2
Ups jeg svarede hvist ikke på printe spørgsmålet:
image1.refresh; {Ditto}
Image1.picture.savetofile('lpt1:');

[Eller hvad printeren nu hedder....]
Avatar billede retep Nybegynder
08. april 2000 - 15:03 #3
Du kan gemme et Timage således:

image1.Picture.SaveToFile('test.bmp');

Mvh
Retep

//Vil lige vende tilbage med udskriftsdelen :)
Avatar billede retep Nybegynder
08. april 2000 - 15:03 #4
dooooh ;)
Avatar billede stoons Nybegynder
08. april 2000 - 15:04 #5
...og så skal du hvist nok lige resize image1 inden du printer det ud, ellers bliver det printet temmelig småt ud (det mener jeg ihvertfald....)

= )
Avatar billede stoons Nybegynder
08. april 2000 - 15:05 #6
retep: He-he! [Uhmmm.. Donuts!]
Avatar billede sjensen Nybegynder
08. april 2000 - 17:16 #7
For at gemme som en fil (som allerede nævn af de andre) skal du bruge image.picture.savetofile(xx)

men for at printe skal du bruge en anden måde. Her er et eks taget ud fra hjælpen:

This example uses a button on a form. When the user clicks the button, a bitmap is printed, centered on the page.
To run this example successfully, you must add the Printers unit to the uses clause of your unit.

procedure TForm1.Button1Click(Sender: TObject);

var
  TBitmap bmp;
begin
bmp = TBitmap.Create;
bmp.LoadFromFile('MyBitmap.bmp');
with Printer do
  begin
    BeginDoc;
    Canvas.Draw((PageWidth - bmp.Width) div 2,
                (PageHeight - bmp.Height) div 2,
                bmp);
    EndDoc;
  end;
bmp.Free;
end;

For at få billedet til at fylde mere på papiret skal du istedet for Draw bruge Stretchdraw og så sætte hhv. venstre, top, højre og bund som tal (pixels). Så vil billedet bliver tilpasset det areal på papiret du har angivet med det 4 tal.

Avatar billede sjensen Nybegynder
08. april 2000 - 17:18 #8
Bemærk lige at den viste Draw metode kun bruger 2 tal som angivelse for hvor billedet skal vises. Stretchdraw bruger 4 tal. Se i hjælpen under "stretchdraw"
Avatar billede trolle Nybegynder
11. april 2000 - 16:12 #9
Jeg har fået programmet til at gemme ordentligt... Men printer delen mangler endnu... Ikke fordi jeg ikke stoler på sjensen, at det ikke virker, men fordi at jeg gerne ville være istand til at se udskriften, FØR den bliver printet ud...
Er det muligt???
Avatar billede sjensen Nybegynder
14. april 2000 - 23:38 #10
trolle,

hvis du vil se den først skal du gå en anden vej rundt:

Skab en ny form og tegn billedet på den. Formen kan du oprette i en størrelse der passer til din udskrift. Derefter sætter du en image på den og sætter property til stretch. En form har også en canvas så du kan bruge samme fremgangsmåde som for printeren.

Når du så vil vise den skriver du bare formx.showmodal og når du vil printe den skriver du formx.print.

Så har du begge dele.
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