Como colocar a imagem do TPaintBox dentro do TImage?
Preciso fazer uma cópia de toda a imagem que está no componente do TPaintBox para o componente TImage. Como posso fazer isso?
Raserafim
Curtidas 0
Respostas
Adilsond
26/12/2004
Esperimente copiar o canvas:
Image1.Canvas.CopyRect(Image1.Canvas.ClipRect,PaintBox1.Canvas,PaintBox1.Canvas.ClipRect);
GOSTEI 0
Raserafim
26/12/2004
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?
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?
GOSTEI 0
Raserafim
26/12/2004
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?
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?
GOSTEI 0
Gandalf.nho
26/12/2004
Tente assim:
Image1.Canvas.Assign(PaintBox1.Canvas);
Image1.Canvas.Assign(PaintBox1.Canvas);
GOSTEI 0
Marcelo Saviski
26/12/2004
Esse PaintBox não esta escondido quando vc tenta copia-lo para o Image?
GOSTEI 0
Adilsond
26/12/2004
Veja um pequeno exemplo, feito com o Delphi 3.
Project1.dpr
Unit1.pas
Unit1.dfm
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
GOSTEI 0