이미지에 최대 4 개의 사각형이 있습니다. 각 사각형의 왼쪽 상단 X, Y 좌표 및 너비, 높이를 알고 있습니다. 가장 왼쪽 상단 사각형에서 가장 하단 오른쪽 사각형까지의 크기를 가진 Int32Rect를 만들고 싶습니다. 주요 문제는 x, y, width, height 매개 변수로만 System.Windows.Int32Rect를 만들 수 있다는 것입니다. 어떤 방법을 사용하여 현재 알려진 값으로이 작업을 수행 할 수 있습니까?여러 사각형의 경계 사각형 가져 오기
편집 : 명확히하기 위해 이미지의 다른 모든 "사각형"의 크기 인 Int32Rect를 만들고 싶습니다. 따라서 하나의 큰 Int32Rect는 이미지의 왼쪽 상단에서 "사각형"부터 시작하여 이미지의 오른쪽 하단에있는 "사각형"으로 확장됩니다.
여기 하나의 구형이 작업을 수행하는 코드이다 : 도움말 및 아이디어 모두를위한var topLeftOfBox = new Point(centerOfBoxRelativeToImage.X - Box.Width/2,
centerOfBoxRelativeToImage.Y - Box.Height/2);
return new CroppedBitmap(originalBitmap, new Int32Rect(topLeftOfBox.X, topLeftOfBox.Y, Box.Width, Box.Height));
감사합니다, 나는 나를 위해 최선을 작동하는 Aybe의 답변을 발견했다.
e 위쪽, 왼쪽, X, Y 및 폭과 높이. Int32Rect에 X, Y, Width 및 Height 매개 변수를 전달할 수 있기 때문에 문제가 표시되지 않습니다. –
이것은 다소 사소한 최대/최소 계산으로 보입니다. 최선의 시도와 문제 설명을 게시 할 수 있습니까? – nvoigt
@AaronHawkins 단일 사각형에 대해이 작업을 수행 할 수 있지만 여러 사각형에 대해이 작업을 수행하려고합니다. – invizion