Vi bruger et grid til at tegne en slags kort - så vidt vi kan se er der ikke mulighed for at få det hele skrevet ud på en side - så det kommer til at ligne et oversigtskort? Kan ikke umiddelbart finde ud af hvordan man får det til det.
Sidder også og roder med at gemme det som html og så skrive html-siden ud - men det giver nogle prob's med at det bliver skrevet ud i for småt format
Du laver en MetaFile i den størelse du skal bruge, så "tegner" du din grid på den, der efter sætter du metafilens størelse til din parpir størelse, og vupti så er det "fit to page"
okay, det lyder fornuftigt. men hvordan sender jeg en Metafil til printeren. At smide griddet over i en alm Metafil er ikke svært der sender jeg den bare over som en Stream men hvad jeg så gør derfra er jeg ikke helt sikker på ? men derudover MetaFileCanvas kan jeg ikke helt se hvad jeg skal bruge til, den bruger jo kun shapes og den kan jeg da ikke overfører direkte til..kan jeg ?
This example shows how to create or augment a metafile using a metafile canvas object. This metafile can then be used to draw on the canvas of another object such as a paintbox or a printer.
MyMetafile := TMetafile.Create;
with TMetafileCanvas.Create(MyMetafile, 0) do try Brush.Color := clRed; Ellipse(0,0,100,100); ... finally Free;
end;
Form1.Canvas.Draw(0,0,MyMetafile); {1 red circle }
To add to an existing metafile image, create a metafile canvas and play the source metafile into the metafile canvas:
thx.. jeg kigger lige lidt mere på det i aften og så håber jeg at jeg har forstået det :-) men tak for hjælpen indtil videre, jeg giver point senere :-)
K := 1; L := 1; Metating := Tmetafile.Create; with TMetafileCanvas.Create(MetaTing, 0) do try Brush.Color := clwhite; for I:=0 to sg1.Width do begin for J :=0 to sg1.Height do begin if sg1.ColorCell[i,j] = clwhite then begin showmessage('HVID!!!'); Brush.Color := clwhite; Rectangle(k,l,k+1,l+1); inc(k); inc(l); end else begin Brush.Color := CLyellow; Rectangle(k,l,k+1,l+1); inc(k); inc(l); end; end; end; finally Free; showmessage('færdig!!!'); end; with Printer do begin BeginDoc; Canvas.Draw(0,0,Metating); EndDoc; end; end;
Hejsa. jeg har lidt overtaget problem stillingen da vi laver projektet sammen og nu har jeg da endelig fået det til at virke sådan nogenlunde da. men lortet er nu at den ikke vil bruge min løkke .dvs at den hopper direkte til ELSE hvergang jeg kører lykken. derudover er jeg også i tvivl om hvilke størrelse mine firkanter får, de skal ikke være særligt store. og grunden til at jeg har to forskellige farver er at jeg skal tegne to forskellige typer ind på kortet (faktisk skal jeg bruge 4, men jeg tænkte at jeg ville starte med to)
Jamen, så funker dit print jo, det må ligge i den måde du lopper rundt i gridet på, Coloren er åbenbart ikke clWhite, den kan jo havde en lille forskel som "ser hvid" ud men ikke er det.
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.