如何在Delphi图像上使用鼠标绘制多边形?

时间:2016-08-10 07:25:50

标签: delphi image-processing pascal

我想使用鼠标从图像中获取确定的蒙版。我试过以下这些属性:

ImageEnVect.SelectionMask;
ImageEnVect.MouseInteract:= [miSelectLasso];

但我完全不知道该怎么做。你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

我在下面列出的代码:

  if ImageEnMView1.ImageCount > 0 then
  begin
    ImageEnMView1.SelectedImage:= 0;
    ImageEnMView1ImageSelect(Nil, 0);
    ImageEnVect1.MouseInteract:= [miSelectLasso];//this part allow drawing polygon
  end;

我可以获得这样的掩码图像信息:

  GrayImg:= TGrayImage.Create(ImageEnVect1.SelectionMask.Width,ImageEnVect1.SelectionMask.Height);
  GrayImg.Paint(0);

  for i := 0 to GrayImg.Height-1 do
  begin
    for j := 0 to GrayImg.Width-1 do
    begin
      if ImageEnVect1.SelectionMask.GetPixel(j,i) > 0 then
        GrayImg.PixelData[i,j]:= 255;

    end;

  end;