图像的问题 请问如何在一个背景图像上放一个小图像? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主,很高兴再来回答你的问题。建一个TCanvas画布,在画布上画图像,如果你画2张以上,然后保存画布,就等于合成了。画法也有好几种,有的是按指定的TRect区域来对一张大图缩小后画到TCanvas上的,像第一个回答你问题的人说“Draw”,这个是直接贴上去原图,不缩放。delphi自带的比较常用的方法是:第一个:Canvas.Draw();第二个:Canvas.StretchDraw();如果使用GDI+,还有其它方法,不过差不多都一样,GDI+支持的图像格式多一些,比如可以将一个gif跟png合成,但处理jpg图像时如果保存则会失真,所以如果存储尽量选用bmp格式。 代码:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormPaint(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormPaint(Sender: TObject);var A,B:TBitmap;begin if FileExists('C:\a.bmp') then begin A:=TBitmap.Create; A.LoadFromFile('C:\a.bmp'); Canvas.Draw(0,0,A); A.Free; end; if FileExists('C:\b.bmp') then begin B:=TBitmap.Create; B.LoadFromFile('C:\b.bmp'); Canvas.Draw(50,50,B); B.Free; end;end;end.只是简单写了个示例,如有不明之处,请QQ上说话。 如何获取机器码? 关于DELPHI安装OCX控件 DirectoryOutline如何展开节点到指点目录? delphi 如何保存二进制值?在线等 大家有没有下载XPmenu? 好爽啊(全部家当送上,谢谢) POSTSCRIPT格式(*.ps)的文件要用什么工具才能打开? 怎样判断ACCESS中是否存在某个表 我的这个多线程为什么会互相影响 哪里能下载Delphi入门到精通的电子书啊 关于Interbase的安全性问题。 VC和delphi中的string类型有什么区别? idudpserver如何解决socket error # 10004问题
画法也有好几种,有的是按指定的TRect区域来对一张大图缩小后画到TCanvas上的,像第一个回答你问题的人说“Draw”,这个是直接贴上去原图,不缩放。delphi自带的比较常用的方法是:第一个:Canvas.Draw();
第二个:Canvas.StretchDraw();
如果使用GDI+,还有其它方法,不过差不多都一样,GDI+支持的图像格式多一些,比如可以将一个gif跟png合成,但处理jpg图像时如果保存则会失真,所以如果存储尽量选用bmp格式。
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormPaint(Sender: TObject);
var
A,B:TBitmap;
begin
if FileExists('C:\a.bmp') then
begin
A:=TBitmap.Create;
A.LoadFromFile('C:\a.bmp');
Canvas.Draw(0,0,A);
A.Free;
end; if FileExists('C:\b.bmp') then
begin
B:=TBitmap.Create;
B.LoadFromFile('C:\b.bmp');
Canvas.Draw(50,50,B);
B.Free;
end;
end;end.
只是简单写了个示例,如有不明之处,请QQ上说话。