我正在开发Windows Phone 7中的照片应用程序。
当我通过“矩形”区域裁剪图像时,“裁剪”图像与图像控件的左上角对齐。我想将图像对准中心并将其缩放/拉伸到完整的图像控件。
见图。
第1张图像显示裁剪前和第2张图像显示裁剪后,图像左上角对齐。裁剪后的图像应在中心对齐。并且PLZ也看到裁剪后的图像没有完全出现在图2中,我的意思是播放器的引导部分也被裁剪,但是没有在裁剪的图像中显示,为什么会这样?
代码是:
void ClipImage()
{
RectangleGeometry geo = new RectangleGeometry();
r = (Rectangle)(from c in ImageLayout.Children where c.Opacity == .5 select
c).First();
GeneralTransform gt = r.TransformToVisual(ImageLayout);
Point p = gt.Transform(new Point(0, 0));
geo.Rect = new Rect(p.X, p.Y, r.Width, r.Height);
ImageMain.Clip = geo;
r.Visibility = System.Windows.Visibility.Collapsed;
TranslateTransform t = new TranslateTransform();
t.X = -p.X;
t.Y = -p.Y;
ImageMain.RenderTransform = t;
}
在代码中,我认为应该更改一些值,以使图像在中心对齐。这只是一个裁剪的图像代码,许多其他功能也在内部使用,但我认为并不关心。
答案 0 :(得分:0)
如果您想集中某些XAML元素,请使用HorizontaAlignment.Center
和VerticalAlignment.Center
。