相关疑难解决方法(0)

Silverlight旋转并缩放位图图像以适合矩形而不进行裁剪

我需要旋转一个WriteableBitmap并在它被裁剪之前向下或向上缩放.

我的当前代码将旋转,但如果高度大于宽度,则会裁剪边缘.

我想我需要扩展?

 public WriteableBitmap Rotate(WriteableBitmap Source, double Angle)
        {
            RotateTransform rt = new RotateTransform();
            rt.Angle = Angle;

            TransformGroup transform = new TransformGroup();
            transform.Children.Add(rt);

            Image tempImage2 = new Image();
            WriteableBitmap wb;
            rt.CenterX = Source.PixelWidth / 2;
            rt.CenterY = Source.PixelHeight / 2;
            tempImage2.Width = Source.PixelWidth;
            tempImage2.Height = Source.PixelHeight;
            wb = new WriteableBitmap((int)(Source.PixelWidth), Source.PixelHeight);
            tempImage2.Source = Source;
            tempImage2.UpdateLayout();

            wb.Render(tempImage2, transform);
            wb.Invalidate();

            return wb;

        }
Run Code Online (Sandbox Code Playgroud)

如何缩小图像以使其不会被裁剪?或者还有另一种方式吗?

c# silverlight rotation windows-phone-7 windows-phone

13
推荐指数
1
解决办法
7299
查看次数