1
실버 라이트로 응용 프로그램을 작성했습니다. 이미지에 직사각형을 배치하고 직사각형으로 덮여있는 이미지의 일부를 선택하고 버튼 클릭시 이미지 컨트롤에 표시하려고합니다.writeablebitmap을 사용하여 사각형에서 이미지 선택
나는 비율과 이미지 조작을 잘 처리하지 못하므로 올바른 방법으로 얻을 수 없습니다.
누구나 내가 이것을 해결할 수있는 방법이나 해결책을 제시 할 수 있다면, 다음과 같은 코드가 유용 할 것입니다. 이 코드가 실행됩니다 때마다
public void CaptureImage(object sender, RoutedEventArgs e)
{
BitmapImage bitmapImage = new BitmapImage();
//// bitmapImage.CreateOptions = BitmapCreateOptions.None;
bitmapImage = NewImage;
////calculate bounding box
int originalWidth = bitmapImage.PixelWidth;
int originalHeight = bitmapImage.PixelHeight;
int newSmallWidth = (int)SquareBlue.Width;
int newSmallHeight = (int)SquareBlue.Height;
////generate temporary control to render image
Image temporaryImage = new Image { Source = bitmapImage, Width = newSmallWidth, Height = newSmallHeight };
////create writeablebitmap
WriteableBitmap wb = new WriteableBitmap(newSmallWidth, newSmallHeight);
TranslateTransform t = new TranslateTransform();
t.X = -5;
t.Y = -5;
wb.Render(temporaryImage, t);
wb.Invalidate();
myImage.Source = wb;
}
는 전체 이미지 대신 사각형으로 선택한 부분의, 스냅됩니다. 누구든지 내가 여기서 잘못하고있는 것으로 안내 할 수 있을까?
좌표를 올바르게 입력하지 못했습니다. – DotNetGeek
필자는 문제에 대해 생각하고 샘플 값을 사용하기 위해 펜과 종이를 사용할 것을 권장합니다. 문제를 생각해보십시오. –