0
동적으로 생성 된 이미지를 마스크하여 원형으로 표시해야합니다. 그림은 정사각형이 될 수 있지만 일반적으로 직사각형입니다 ... 그래서 표시 될 원을 그림의 중심에서 가져올 수 있습니다 ... 그래서 표시된 원은 그림에 새겨 져 있어야하고 가운데에 가운데 있어야합니다.C# Windows Phone - 원형 마스크 만들기
//Setting up the image
Image image = new Image();
image.Height = 70;
image.Width = 70;
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.UriSource = new Uri("http://url-of-the-image", UriKind.Absolute);
image.CacheMode = new BitmapCache();
image.Source = bitmapImage;
image.Stretch = Stretch.UniformToFill;
image.VerticalAlignment = System.Windows.VerticalAlignment.Center;
//Setting up the mask
RadialGradientBrush opacityMask = new RadialGradientBrush();
GradientStop gs1 = new GradientStop();
GradientStop gs2 = new GradientStop();
GradientStop gs3 = new GradientStop();
gs1.Color = Color.FromArgb(255, 0, 0, 0);
gs1.Offset = 0.0;
gs2.Color = Color.FromArgb(255, 0, 0, 0);
gs2.Offset = 0.999;
gs3.Color = Color.FromArgb(0, 0, 0, 0);
gs3.Offset = 1.0;
opacityMask.GradientStops.Add(gs1);
opacityMask.GradientStops.Add(gs2);
opacityMask.GradientStops.Add(gs3);
image.OpacityMask = opacityMask;
//Showing the image
panel.Children.Add(image);
이 모두 잘 작동하지만 사진은 직사각형과 정사각형하지 않을 때,이 ... 원 대신에 어떤 생각을 타원을 작성
이
내가 지금 사용하고 코드입니다 원을 만들려면 어떻게해야합니까? 은 또한 좀 더 매개 변수를 지정하려했으나 도움하지 않는 것 : 이opacityMask.Center = new Point(0.5, 0.5);
opacityMask.RadiusX = 0.5;
opacityMask.RadiusY = 0.5;