如何将GDI类的图片,显示到image里,如果改下面的代码?
procedure TtestForm.FormPaint(Sender: TObject);
var
g: TGPGraphics;
img: TGPImage;
begin
g := TGPGraphics.Create(Self.Canvas.Handle);
img := TGPImage.Create('C:\001.jpg'); img.RotateFlip(TRotateFlipType(ListBox1.ItemIndex));
g.DrawImage(img, 4, 4, img.GetWidth, img.GetHeight); img.Free;
g.Free;
end;procedure TtestForm.ListBox1Click(Sender: TObject);
begin
Repaint;end;
procedure TtestForm.FormPaint(Sender: TObject);
var
g: TGPGraphics;
img: TGPImage;
begin
g := TGPGraphics.Create(Self.Canvas.Handle);
img := TGPImage.Create('C:\001.jpg'); img.RotateFlip(TRotateFlipType(ListBox1.ItemIndex));
g.DrawImage(img, 4, 4, img.GetWidth, img.GetHeight); img.Free;
g.Free;
end;procedure TtestForm.ListBox1Click(Sender: TObject);
begin
Repaint;end;
把你的
g := TGPGraphics.Create(Self.Canvas.Handle);
改为
g := TGPGraphics.Create(image1.Canvas.Handle); 即可在image1中显示。下次提问多给点分,这样既能显示你对问题的重视,我们又有更多的回答动力。
g: TGPGraphics;
img: TGPImage;
begin
g := TGPGraphics.Create(image1.Canvas.Handle);
img := TGPImage.Create('C:\001.jpg');
g.DrawImage(img, 4, 4, img.GetWidth, img.GetHeight);
img.Free;
g.Free;
end;
楼上,你好!
以上的代码可以实现,但为何我要实现旋转后显示的功能不能实现?
谢。procedure TtestForm.FormCreate(Sender: TObject);
begin
ListBox1.Align := alRight;
with ListBox1.Items do
begin
Add('RotateNoneFlipNone');
Add('Rotate90FlipNone');
Add('Rotate180FlipNone');
Add('Rotate270FlipNone');
Add('RotateNoneFlipX');
Add('Rotate90FlipX');
Add('Rotate180FlipX');
Add('Rotate270FlipX');
end;
end;procedure TtestForm.ImgPaint;
var
g: TGPGraphics;
img: TGPImage;
GID:TGUID;
begin
g := TGPGraphics.Create(image1.Canvas.Handle);
img := TGPImage.Create('C:\001.jpg');
img.RotateFlip(TRotateFlipType(ListBox1.ItemIndex));
g.DrawImage(img,4,4,img.GetWidth,img.GetHeight);
img.Free;
g.Free;
end;
procedure TtestForm.ListBox1Click(Sender: TObject);
begin
ImgPaint;
Image1.Repaint;
end;