GARANTIR DESCONTO

Fórum Como colocar a imagem do TPaintBox dentro do TImage? #263424

26/12/2004

0

Preciso fazer uma cópia de toda a imagem que está no componente do TPaintBox para o componente TImage. Como posso fazer isso?


Raserafim

Raserafim

Responder

Posts

26/12/2004

Adilsond

Esperimente copiar o canvas:

Image1.Canvas.CopyRect(Image1.Canvas.ClipRect,PaintBox1.Canvas,PaintBox1.Canvas.ClipRect);



Responder

Gostei + 0

30/12/2004

Raserafim

Ainda não deu certo, mas já foi o início.

Ao utilizar este comando ele copia para o Timage apenas o contorno do TPaintBox, ou seja, ele copia no componente TImage apenas um quadrado preto do tamanho do componente TPaintBox.

Como faço para que seja copiado de fato a imagem que está no TPaintBox?


Responder

Gostei + 0

30/12/2004

Raserafim

Ainda não deu certo, mas já foi o início.

Ao utilizar este comando ele copia para o Timage apenas o contorno do TPaintBox, ou seja, ele copia no componente TImage apenas um quadrado preto do tamanho do componente TPaintBox.

Como faço para que seja copiado de fato a imagem que está no TPaintBox?


Responder

Gostei + 0

30/12/2004

Gandalf.nho

Tente assim:

Image1.Canvas.Assign(PaintBox1.Canvas);


Responder

Gostei + 0

30/12/2004

Marcelo Saviski

Esse PaintBox não esta escondido quando vc tenta copia-lo para o Image?


Responder

Gostei + 0

31/12/2004

Adilsond

Veja um pequeno exemplo, feito com o Delphi 3.

Project1.dpr
program Project1;

uses
  Forms,
  Unit1 in ´Unit1.pas´ ;

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.


Unit1.pas
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    PaintBox1: TPaintBox;
    Image1: TImage;
    Image2: TImage;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Picture.Bitmap.LoadFromFile(´C:\Arquivos de programas\´ +
    ´Arquivos comuns\Borland Shared\Images\Splash\256Color\shipping.bmp´);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  PaintBox1.Canvas.CopyRect(PaintBox1.Canvas.ClipRect,Image1.Canvas,
    PaintBox1.Canvas.ClipRect);
  PaintBox1.Canvas.Rectangle(90,15,200,50);
  PaintBox1.Canvas.TextOut(100,20,´T E S T E´);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Image2.Canvas.CopyRect(Image2.Canvas.ClipRect,PaintBox1.Canvas,
    Image2.Canvas.ClipRect);
end;

end.


Unit1.dfm
object Form1: TForm1
  Left = 118
  Top = 66
  Width = 584
  Height = 452
  Caption = ´Form1´
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = ´MS Sans Serif´
  Font.Style = []
  Position = poScreenCenter
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object PaintBox1: TPaintBox
    Left = 328
    Top = 0
    Width = 240
    Height = 180
  end
  object Image1: TImage
    Left = 0
    Top = 0
    Width = 240
    Height = 180
    AutoSize = True
  end
  object Image2: TImage
    Left = 328
    Top = 232
    Width = 240
    Height = 180
  end
  object Button1: TButton
    Left = 248
    Top = 72
    Width = 75
    Height = 25
    Caption = ´>´
    TabOrder = 0
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 416
    Top = 192
    Width = 75
    Height = 25
    Caption = ´\/´
    TabOrder = 1
    OnClick = Button2Click
  end
end



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar