1

Silverlight でアプリケーションを作成しました。画像に四角形を配置していて、四角形で覆われた画像の一部を選択し、ボタンをクリックして画像コントロールに表示したいと考えています。

私は比率や画像操作が苦手なので、うまくいきません。

同じコードを以下に示します。誰かがこれを回避する方法または解決策を提案してくれれば幸いです。

public void CaptureImage(object sender, RoutedEventArgs e)
{
            BitmapImage bitmapImage = new BitmapImage();
            //// bitmapImage.CreateOptions = BitmapCreateOptions.None;
            bitmapImage = NewImage;

            ////calculate bounding box
            int originalWidth = bitmapImage.PixelWidth;
            int originalHeight = bitmapImage.PixelHeight;

            int newSmallWidth = (int)SquareBlue.Width;
            int newSmallHeight = (int)SquareBlue.Height;

            ////generate temporary control to render image
            Image temporaryImage = new Image { Source = bitmapImage, Width = newSmallWidth, Height = newSmallHeight };

            ////create writeablebitmap
            WriteableBitmap wb = new WriteableBitmap(newSmallWidth, newSmallHeight);

            TranslateTransform t = new TranslateTransform();
            t.X = -5;
            t.Y = -5;

            wb.Render(temporaryImage, t);

            wb.Invalidate();

            myImage.Source = wb;
   }

このコードが実行されるたびに、長方形で選択された部分ではなく、画像全体がスナップされます。誰か、私がここで間違っていることを教えてください。

4

1 に答える 1

0

WriteableBitmapEx ライブラリが提供する Crop メソッドを使用することをお勧めします。

于 2013-10-08T11:18:49.563 に答える