0

mvvm を使用したプロジェクトが 1 つあります。プロジェクトの読み込みボタンをクリックして、.jpg 形式の画像を読み込みます。この画像の一部を選択して移動し、メニューの長方形ツールをクリックしてペイントするなど、サイズを変更したいのですが、方法がわかりません

ビューコード:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="240*" />
        <RowDefinition Height="60*" />
    </Grid.RowDefinitions>
    <StackPanel Orientation="Horizontal" Grid.Row="0">
        <Image Source="{Binding MyImage.Source}" ></Image>
    </StackPanel>
    <StackPanel Orientation="Horizontal" Grid.Row="1">
        <Button Width="70" Height="40" Command="{Binding LoadCommand}">Load Image</Button>
    </StackPanel>
</Grid>

ビューモデル コード:

 #region Property
    private Image _MyImage;
    public Image MyImage
    {
        get
        {
            return _MyImage;
        }
        set
        {
            _MyImage = value;
            OnPropertyChanged("MyImage");
        }
    }
    #endregion

    #region Constructor
    public ImageViewModel()
    {
        _MyImage = new Image();
    }
    #endregion

    #region Commands
    RelayCommand _LoadCommand;
    public ICommand LoadCommand
    {
        get
        {
            if (_LoadCommand == null)
            {
                _LoadCommand = new RelayCommand(param => LoadCommandExecute());
            }
            return _LoadCommand;
        }
    }
    #endregion

    #region Methods
    private void LoadCommandExecute()
    {

        OpenFileDialog op = new OpenFileDialog();
        op.Title = "Select a picture";
        op.Filter = "All supported graphics|*.jpg;*.jpeg;*.png|" +
            "JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg|" +
            "Portable Network Graphic (*.png)|*.png";
        if (op.ShowDialog() == true)
        {
            MyImage.Source = new BitmapImage(new Uri(op.FileName));
        }
    }
    #endregion
4

1 に答える 1

0

ドラッグ選択の実装は、これを行う 1 つの方法です。ドラッグ選択を実装したら、画像に対する選択長方形の位置を確認し、画像のその部分を切り取って、好きなように変更できるようにします。

途中で問題が発生した場合は、コードを投稿してください。解決するために最善を尽くします。

于 2013-02-14T14:20:57.430 に答える