如何从一幅bmp图片中截取一个椭圆形的部分,然后另存为一幅图片

解决方案 »

  1.   

    //反过来想,就是在周围加一个椭圆边框~~
    //参考如下代码~~procedure TForm1.Button1Click(Sender: TObject);
    var
      vBitmap: TBitmap;
    begin
      vBitmap := TBitmap.Create;
      try
        vBitmap.Assign(Image1.Picture.Bitmap);
        vBitmap.Canvas.FillRect(vBitmap.Canvas.ClipRect);
        vBitmap.Canvas.Brush.Color := clRed;
        vBitmap.Canvas.Ellipse(vBitmap.Canvas.ClipRect);    vBitmap.TransparentColor := clRed;
        vBitmap.Transparent := True;    Image1.Picture.Bitmap.Canvas.Draw(0, 0, vBitmap);
      finally
        vBitmap.Free;
      end;
    end;