Gå til innhold

problemer med TImage størrelsen


Anbefalte innlegg

Hei,

 

Jeg skriver et program der jeg tegner opp en del vektorer på canvassen til

et Timage. Problemet er ikke opptegningen men størrelsen. Jeg får ikke laget

TImage større en ca 5000*5000 når jeg kjører en oppløsning på 1024*768, og

mindre om jeg har høyere oppløsning.

 

Problemet er at jeg trenger et TImage som er størst mulig helst 20000*20000.

 

Jeg bruker en TImagePanel for og "ha" bilde i, slik at jeg kan scrolle med

det.

 

 

Noen forslag? :dontgetit:

 

 

 

Mvh Martin Groh

Lenke til kommentar
Videoannonse
Annonse

procedure TForm1.Button1Click(Sender: TObject);
var
 C:TCanvas;
begin
 if M<>nil then
   M.Free; //M er privat property av TForm1
 M:=TMetafile.Create;
 M.Width:=20000;
 M.Height:=20000;
 C:=TMetafileCanvas.Create(M,0);
 try
   C.Pen.Color:=clBlack;
   C.MoveTo(0,0);
   C.LineTo(20000,20000);
 finally
   C.Free;
 end;
 RedrawImage;
end;

procedure TForm1.RedrawImage;
begin
 Image1.Canvas.FillRect(Rect(0,0,1000,1000));
 Image1.Canvas.Draw(-HorzScrollbar.Position,-VertScrollbar.Position,M);
end;

procedure TForm1.VertScrollbarChange(Sender: TObject);
begin
 RedrawImage;
end;

 

Komentarer:

Jeg har plassert Image1 på formen, med VertScrollbar til høyre fra den og HorzScrollbar under. Begge disse har Max=20000. VertScrollbarChange er OnChange event for begge to.

Jeg tegner alt på TMetafileCanvas i Button1Click og når jeg kaller C.Free, blir alt innhold overført fra C til metafilen (ifølge Delphi Help). Så er det bare å tegne den synlige delen av metafilen på Image1.Canvas.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...