Q&A

  • 클리핑할때 이전에 클리핑된 부분에 추가하여 클리핑하는방법?
클리핑할 때 이전에 클리핑한부분은 다시 그리지 않고 새로클리핑시킬부분이랑 같이 디스플레이 되게 할려면 어떻게 해야 하나요? 지금 만들어져 있는것은 이렇습니다(예제보고함);

procedure TForm2.FormCreate(Sender: TObject);

begin

Rgn := CreateRoundRectRgn(0,0,50,50,50,50);

end;



procedure TForm2.Image1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var

Bmp : TBitmap;

begin

Bmp := TBitmap.Create;

Bmp.Canvas.brush.Color := clBlack;

Bmp.Width := Image1.Width;

Bmp.Height := Image1.Height;



ExtSelectClipRgn(Bmp.Canvas.Handle, Rgn, RGN_AND);

OffsetClipRgn(Bmp.Canvas.Handle, X-25,Y-25);

Bmp.Canvas.Draw(0,0,Image1.Picture.Bitmap);

canvas.Draw(0,0,bmp);

Bmp.free;

end;

0  COMMENTS