我想从ImageEnVect1的上选出一部分区域,
再把这部分选出来的区域作为一张图片放到另一个ImageEnVect2上,
怎么实现这中间的转换,都需要哪些方法?

解决方案 »

  1.   

    我想实现:
    1、在图片上鼠标画一个框做标记,但是每次鼠标重新选择另一个地方时画框时前一个就没了,怎样
    可以在图片上做多个标记?
    2、再就是把框里的那部分图片截取出来作为一张新图片,这个还没解决~~~~~~~~
    我下载的DEMO但是里面只有图片分割,而且他那个图片样式是5张分开的,不用鼠标去选的。
    我刚用ImageEn对里面的好多属性,方法,过程还不明白。只能自己摸索着实验,谁用过给帮忙说明下
    小弟在这谢谢了!~~~~
      

  2.   

    ImageEn常见用法(网上找到的)
    1、加载文件
         FImg.IO.LoadFromFile(a_strFileName);
     
    2、设置显示背景
         FImg.Background:= clGray;
         FImg.BackgroundStyle := iebsSolid;
     
    3、显示棋盘背景
         FImg.Background:= clWhite;
         FImg.BackgroundStyle := iebsChessboard;
     
    4、设置鼠标拖动
     procedure TImageContainer.DoImgMouseUp(Sender: TObject; Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);
     begin
       FDragging:= False;
       FImg.Cursor:= crDefault;
     end;
     
    procedure TImageContainer.DoImgMouseDown(Sender: TObject; Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);
     begin
       if ssDouble in Shift then
       begin
         if Button = mbLeft then
         begin
           if not IsCtrlDown then FImg.Zoom:= 100;
         end;
         if (Button = mbRight) or IsCtrlDown then
         begin
           FImg.AutoFit:= True;
           FImg.Repaint;
           FImg.AutoFit:= False;
         end
       end
       else
       begin
         FDragging:= True;
         m_CurPos:= Mouse.CursorPos;
         m_StartSize:= Point(FImg.ViewX, FImg.ViewY);
       end;  
    end;
     
    procedure TImageContainer.DoImgMouseMove(Sender: TObject; Shift: TShiftState; X,
       Y: Integer);
     var
       l_Pos: TPoint;
       l_x, l_y: Integer;
     begin
       if not FDragging then Exit;
     
      FImg.Cursor:= crSizeAll;
     
      //计算偏移量
       l_Pos:= Mouse.CursorPos;
       l_x:= l_Pos.X - m_CurPos.X;
       l_y:= l_Pos.Y - m_CurPos.Y;
     
      FImg.ViewX:= m_StartSize.X - l_x;
       FImg.ViewY:= m_StartSize.Y - l_y;
     end;
     
    5、查看显示百分比
       Label1.Caption:= Format('Zoom:%f%%', [FImg.Zoom]);
     
    6、设置缩放时显示不失真
         ZoomFilter:= rfNearest;
         DelayZoomTime:= 500;
     7、打印图片
       FImg.IO.DoPrintPreviewDialog();