关于IMAGE控件的一个问题 |
答題得分者是:wameng
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
在大部份软件的主界面上,都有这样的界面,XXXXXXX系统XX版,下面是版权所有:XXXXXXX公司copyrignt2005 ,这两行字是可以自己写上去的。有时背景就是白色的,不好看。我想放一个IMAGE控件,有个图片背景,有的图片是很小的,大概只有要放的背景位置的10%样子,把它拉伸了就要变形变糊,不拉它又盖不到所要的其它地方,如何处理呢?还有就是图片要透明,否则那两行文字要遮住的。我是新手,高手指点时能否详细一点。谢谢!
------
我的编程起步于ktop,我将永远支持ktop |
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
内差法是不是这个:
procedure TForm1.BitBtn2Click(Sender: TObject);
var x1,y1,x2,y2,x0,y0,dx,dy,x,y:integer;
begin
x1:=image1.width;
y1:=image1.height;
x2:=image2.width;
y2:=image2.height;
dx:=0;
x0:=0;
for x:=0 to image2.width-1 do
begin
dy:=0;
y0:=0;
dx:=dx x1;
while dx>=x2 do
begin
inc(x0);
dx:=dx-x2;
end;
for y:=0 to image2.height-1 do
begin
dy:=dy y1;
while dy>=y2 do
begin
inc(y0);
dy:=dy-y2;
end;
image2.Canvas.Pixels[x,y]:=image1.Canvas.Pixels[x0,y0];
end;
end;
end;
因为我是初学入门者,我大概试了一下,image1是原图,如果设定了image2的大小就能放大或者缩小多少了。有一个问题是,我如取得用户的屏幕分辨率,(一般为800*600或1024*768)并且使image2的大小等于用户的屏幕分辨率。
------
我的编程起步于ktop,我将永远支持ktop |
pcsoftdiy
一般會員 發表:8 回覆:14 積分:4 註冊:2005-03-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |