Oppure

Loading
10/04/11 9:43
lavoro92
Come posso ottenere l' immagine avendo a mia disposizione il Canvas senza utilizzare il metodo Pixels?.
Ho provato con il bitblt purtroppo però, quando vado a prendere l' immagine mi prende anche le finestre sopra , come posso prendere esclusivamente l' immagine ?
aaa
10/04/11 11:50
a_butta
Su che oggetto fa riferimento il tuo canvas? Inoltre non ho ben capito cosa intendi per "ottenere l'immagine": intendi una TBitmap o TJPEG?
aaa
10/04/11 12:43
lavoro92
No io ho solo un oggetto di tipo Tcanvas.
Per farla breve io ho un pannello ma io del pannello ho solo la proprietà Canvas non ho Picture e compagnia bella .
Come faccio ad ottenere l' immagine attraverso l' utilizzo del Canvas senza l' utilizzo della proprietà pixels?
aaa
10/04/11 13:02
a_butta
La proprietà CopyRect dovrebbe fare al caso tuo allora (se ho capito bene):
docwiki.embarcadero.com/VCL/en/…
aaa
21/04/11 15:38
lavoro92
Niente da fare non salva .>.<
procedure tgestionetabelle.SaveImagetofile(Name: string; Resize: Boolean;
  widthmax, heightmax: integer);
var
  img: timage;
begin
  TRY
    img := timage.Create(Self);
    img.Height := Self.GetmaxY;
    img.Width := Self.GetmaxX;
     Self.Canvas.CopyRect(rect(0,0,img.Width,img.Height),img.Canvas,rect(0,0,img.Width,img.Height));
    if Resize then
    BEGIN
      img.Width := widthmax;
      img.Height := heightmax;
      img.Proportional := true;
    END;
    img.Picture.Savetofile(NAME);
  Except
    img.Free;
  END;
end;
aaa
21/04/11 21:13
Goblin
forse hai invertito i canvas...
img.Canvas.CopyRect(rect(0,0,img.Width,img.Height),Canvas,rect(0,0,img.Width,img.Height));
così dovrebbe funzionare
G.
Ibis redibis non morieris in bello
22/04/11 10:10
lavoro92
Si funziona ma c'e il solito problema che anche se faccio il copyrect le finestre sopra a quella zona definita dal pannello mi si vedono uguale!!! come faccio? premetto uso windows xp
aaa