imageen 合并图像很慢请高手指点 急急急急 ( 积分: 100 )

  • 主题发起人 主题发起人 givemeliu
  • 开始时间 开始时间
G

givemeliu

Unregistered / Unconfirmed
GUEST, unregistred user!
这是我的处理过程
VAR I,J,C:INTEGER;
LEFT,TOP,IMAGEWITH,IMAGEHEIGH:INTEGER;
begin
imageenview2.LayersSync:=false;
imageenview1.LayersSync:=false;
IMAGEENVIEW2.Assign(IMAGEENVIEW3); //加载源图像
imageenview1.LayersAdd; //添加层
imageenview1.Assign(image1); //加载背景
imageenview1.Layers[0].Width:=1512; //设置背景宽
imageenview1.Layers[0].Height:=1012; //设置背景高

ImageEnView2.Proc.Resample ( 270, 380,TResampleFilter(5) );
TOP:=14;
LEFT:=5;
J:=1;

WHILE J<5 DO
BEGIN
IMAGEENVIEW1.LayersINSERT(J);//加入层
IMAGEENVIEW1.Assign(IMAGEENVIEW2); //加入图像
IMAGEENVIEW1.Layers[J].PosY:=TOP;
IMAGEENVIEW1.Layers[J].PosX:=LEFT;
LEFT:=LEFT+IMAGEENVIEW1.Layers[J].Width+1;
J:=J+1;
END;
TOP:=520;
LEFT:=5;
J:=6 ;
//ImageEnView2.Proc.Resample ( 300, 430,TResampleFilter(5) );

WHILE j<10 DO
BEGIN
IMAGEENVIEW1.LayersINSERT(J);
IMAGEENVIEW1.Assign(IMAGEENVIEW2);
IMAGEENVIEW1.Layers[J].PosY:=TOP;
IMAGEENVIEW1.Layers[J].PosX:=LEFT;
LEFT:=LEFT+IMAGEENVIEW1.Layers[J].Width+1;

INC(J);
END;

I:=0;
WHILE IMAGEENVIEW1.LayersCount>1 DO
BEGIN

IMAGEENVIEW1.LayersMerge(I,I+1); //循环合并所有层
END;
可是很慢
哪为高手有更快的方法请指点
 
这是我的处理过程
VAR I,J,C:INTEGER;
LEFT,TOP,IMAGEWITH,IMAGEHEIGH:INTEGER;
begin
imageenview2.LayersSync:=false;
imageenview1.LayersSync:=false;
IMAGEENVIEW2.Assign(IMAGEENVIEW3); //加载源图像
imageenview1.LayersAdd; //添加层
imageenview1.Assign(image1); //加载背景
imageenview1.Layers[0].Width:=1512; //设置背景宽
imageenview1.Layers[0].Height:=1012; //设置背景高

ImageEnView2.Proc.Resample ( 270, 380,TResampleFilter(5) );
TOP:=14;
LEFT:=5;
J:=1;

WHILE J<5 DO
BEGIN
IMAGEENVIEW1.LayersINSERT(J);//加入层
IMAGEENVIEW1.Assign(IMAGEENVIEW2); //加入图像
IMAGEENVIEW1.Layers[J].PosY:=TOP;
IMAGEENVIEW1.Layers[J].PosX:=LEFT;
LEFT:=LEFT+IMAGEENVIEW1.Layers[J].Width+1;
J:=J+1;
END;
TOP:=520;
LEFT:=5;
J:=6 ;
//ImageEnView2.Proc.Resample ( 300, 430,TResampleFilter(5) );

WHILE j<10 DO
BEGIN
IMAGEENVIEW1.LayersINSERT(J);
IMAGEENVIEW1.Assign(IMAGEENVIEW2);
IMAGEENVIEW1.Layers[J].PosY:=TOP;
IMAGEENVIEW1.Layers[J].PosX:=LEFT;
LEFT:=LEFT+IMAGEENVIEW1.Layers[J].Width+1;

INC(J);
END;

I:=0;
WHILE IMAGEENVIEW1.LayersCount>1 DO
BEGIN

IMAGEENVIEW1.LayersMerge(I,I+1); //循环合并所有层
END;
可是很慢
哪为高手有更快的方法请指点
 
就是导这句话就开始慢了
I:=0;
WHILE IMAGEENVIEW1.LayersCount>1 DO
BEGIN

执行完成要1分不到,我想快点,可是我没找到其他方法,哪为高手能帮帮忙
 
难道大家没遇上过图片处理合并的吗????[:(][:(][:(]
 
不会用imageen 啊,有资料么,能发一份给我么》abin30@163.com 谢谢 !
 
后退
顶部