请问DELPHI中如何放大一张图片,局部放大也行? ( 积分: 0 )

  • 主题发起人 主题发起人 samn_2
  • 开始时间 开始时间
S

samn_2

Unregistered / Unconfirmed
GUEST, unregistred user!
请问DELPHI中如何放大一张图片,局部放大也行?,我在网上找的文章不能实现,
请会的朋友帮个忙
 
请问DELPHI中如何放大一张图片,局部放大也行?,我在网上找的文章不能实现,
请会的朋友帮个忙
 
一般用bitmap.canvas.StretchDraw()。
StretchDraw(const Rect: TRect; Graphic: TGraphic );
 
你好,
Graphic: TGraphic
请问这个参数我如何给呢?前面是我要放大图片的RECT,后面我不知道怎么给这个参数,
还请你赐教!
 
你是要放大显示吗?教你一个笨办法:
先放一个panel,在panel里面放IMAGE,把IMAGE的stretch参数设为true,现在你要做的就是通过编程调整IMAGE的LEFT,RIGHT,height,width参数了。注意,left、right可以调为负数,不难明白怎么“放大”了吧。
写了这么多不知你明白没有。当然你可以用其它控件来用,推荐用imageen。
 
怎么积分是0?白打工了,呵呵......
 
我有分的不让我发贴了
 
有没有分都这样了,都告诉你答案了。[:D]
 
在D6时赏编程百例上看到过类似功能,具体没有记清。
 
怎么样?实现了吗?
 
var
Graphic : TGraphic;
begin
Graphic := TMetaFile.Create;
try
Graphic.LoadFromFile( '');
Image1.Picture.Assign(Graphic);
finally
Graphic.Free;
end;
end; 这个类型能载入什么文件?为什么不能载入BMP文件,我一载入,旧说抽象错误
 
没啊,sikaman 你说的那种我也做不出来
 
晕!那么简单都没有做出来!你为什么非要用GRAPHIC来装入BMP?非要自己和自己过不去!?用人家提供的方法不好吗?
 
不是,我要将图片运用在游戏中,你说的办法很好,可是在游戏中运用起来不方便
我是用DELPHI+DX做游戏的
 
有分倒,问问题就一分都不给,太。。。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2965462
http://www.delphibbs.com/delphibbs/listq.asp?sort=6&type=2&expert=samn
http://www.delphibbs.com/delphibbs/listq.asp?type=2&userfrom=samn
http://www.delphibbs.com/delphibbs/listq.asp?sort=6&type=2&expert=samn_1
 
我有分的号不让上了啊
 
就是我问题太多,到了几次分,结果不让我提问了啊
 
sikaman的方法不可取。
没有分倒不要紧,关键问题是连类的概念都不清晰,不知道你怎么来写游戏。


unit Unit1;

interface

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

type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
CheckBox1: TCheckBox;
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var Bmp:Tbitmap;
MyRect, MyOther: TRect;
begin
if checkbox1.Checked then //局部放大
begin
Bmp:=Tbitmap.Create;
MyRect := Rect(x-20,y-20,x+20,y+20);
MyOther := Rect(0,0,40, 40);
bmp.Height:=40;
Bmp.Width:=40;
Bmp.Canvas.CopyRect(MyOther,image1.Picture.bitmap.Canvas,MyRect);
canvas.StretchDraw(rect(10,10,400,400),bmp);
Bmp.free;
end
else
canvas.StretchDraw(rect(10,10,400,400),image1.Picture.bitmap);


end;

procedure TForm1.Button1Click(Sender: TObject);
var Bmp:Tbitmap;
begin
Bmp:=Tbitmap.Create;
Bmp.LoadFromFile('e:/2.bmp');
image1.Picture.Bitmap.Height:=100;
image1.Picture.Bitmap.width:=150;
image1.Left:=440;
image1.Picture.Bitmap.canvas.StretchDraw(rect(0,0,150,100),bmp );
Bmp.free;
end;

end.
 
我用DX控件开发游戏的
BackSprite: TBackGroundSprite;
我是以这个类来载入游戏地图的,可是这个类里没canvas属性.
真的不知道怎么班好了。
管理员啊,别在封我的号了,我就转了几百分啊。都封我3号了,这个是刚伸请的,没有
转过分的
 
后退
顶部