我正在 Windows phone 7 中开发照片应用程序。
当我按矩形区域裁剪图像时,裁剪图像与图像控件的左上角对齐。我想将图像居中对齐并将其缩放/拉伸到完整的图像控件。
见数字。
第一张图像显示裁剪前,第二张图像显示裁剪后,图像左上角对齐。裁剪后的图像应居中对齐。并且请您在图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;
}
在代码中,我认为应该更改一些值,以使图像居中对齐。这只是一个裁剪的图像代码,里面还使用了许多其他功能,但我认为并不关心。