# HG changeset patch # User Alain Mazy # Date 1557996395 -7200 # Node ID 077f28e3ea3d5e99508389ff40812d00dc5e85ee # Parent 1b47f17863ba1caf6dc23107a81de115e78e055a clip mask before drawing diff -r 1b47f17863ba -r 077f28e3ea3d Framework/Radiography/RadiographyMaskLayer.cpp --- a/Framework/Radiography/RadiographyMaskLayer.cpp Thu May 16 09:49:30 2019 +0200 +++ b/Framework/Radiography/RadiographyMaskLayer.cpp Thu May 16 10:46:35 2019 +0200 @@ -135,8 +135,16 @@ // first fill the complete image Orthanc::ImageProcessing::Set(*mask_, OUT_MASK_VALUE); + // clip corners + std::vector clippedCorners; + for (size_t i = 0; i < corners_.size(); i++) + { + clippedCorners.push_back(corners_[i]); + clippedCorners[i].ClipTo(0, mask_->GetWidth() - 1, 0, mask_->GetHeight() - 1); + } + // fill mask - Orthanc::ImageProcessing::FillPolygon(*mask_, corners_, IN_MASK_VALUE); + Orthanc::ImageProcessing::FillPolygon(*mask_, clippedCorners, IN_MASK_VALUE); }