如何在图像 Delphi 上使用鼠标绘制多边形?
How can i draw polygon by using mouse on an image Delphi?
我想使用鼠标从图像中获取确定的蒙版。我尝试了以下这些属性:
ImageEnVect.SelectionMask;
ImageEnVect.MouseInteract:= [miSelectLasso];
但是我完全不知道该怎么办。你能帮帮我吗?
我使用的代码如下:
if ImageEnMView1.ImageCount > 0 then
begin
ImageEnMView1.SelectedImage:= 0;
ImageEnMView1ImageSelect(Nil, 0);
ImageEnVect1.MouseInteract:= [miSelectLasso];//this part allow drawing polygon
end;
我可以这样获取mask图像信息:
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;
我想使用鼠标从图像中获取确定的蒙版。我尝试了以下这些属性:
ImageEnVect.SelectionMask;
ImageEnVect.MouseInteract:= [miSelectLasso];
但是我完全不知道该怎么办。你能帮帮我吗?
我使用的代码如下:
if ImageEnMView1.ImageCount > 0 then
begin
ImageEnMView1.SelectedImage:= 0;
ImageEnMView1ImageSelect(Nil, 0);
ImageEnVect1.MouseInteract:= [miSelectLasso];//this part allow drawing polygon
end;
我可以这样获取mask图像信息:
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;