如何在C#/ XAML(WPF 8.1)中旋转图像源而不是图像本身?

时间:2016-12-20 13:58:27

标签: c# image xaml bitmap windows-phone-8.1

我正在为Windows Phone 8.1制作一个绘画应用程序而且我被卡住了。我有一个工作空间(位图),我能够旋转和一个印章控制,我可以用它来标记绘制的元素。印章控件由矩形和此矩形内的图像组成。如果工作空间在0或180度上,那么我可以看到图像内的标记元素。如果工作空间旋转90度或270度,则会出现此问题。如果我按照工作空间的角度旋转图像,图像的宽度和高度显然会被推迟。

public void SetSourceImageStamp(ImageSource imageSource)
{
    var currentPocketPaintApplication = PocketPaintApplication.GetInstance();
    RotateTransform rt = new RotateTransform();

    rt.Angle = currentPocketPaintApplication.angularDegreeOfWorkingSpaceRotation;
    image.RenderTransformOrigin = new Point(0.5, 0.5);

    if (currentPocketPaintApplication.angularDegreeOfWorkingSpaceRotation == 90 || currentPocketPaintApplication.angularDegreeOfWorkingSpaceRotation == 270)
    {
        image.Height = RectangleToDraw.Width;
        image.Width = RectangleToDraw.Height;
        image.HorizontalAlignment = HorizontalAlignment.Center;
        image.VerticalAlignment = VerticalAlignment.Center;
    }

    image.RenderTransform = rt;

    image.Source = imageSource;   
}

所以我有以下问题,是否有可能仅旋转图像的来源而不是整个图像本身?

0 个答案:

没有答案