1

CroppedBitmap 画像を作成するときに、InvalidArgument および「値が許容範囲内にありません」というエラーが発生します。私は一生、理由を見つけることができません。

ボタンクリック=

private void Button_Click(オブジェクト送信者, RoutedEventArgs e) {

        BitmapSource i = (BitmapSource)FindResource("test");
        try
        {
            CroppedBitmap c = new CroppedBitmap(i, new Int32Rect(0, 0, 100, 100));
        }
        catch (Exception ex)
        {
        }
    }
}

リソース ディクショナリはビットマップを参照します。

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- Elbows -->
<BitmapImage x:Key="test" UriSource="./Assets/test.png" />

App.xamlが含まれています

    <Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>

            <ResourceDictionary Source="rdHMIControls.xaml" />

BitmapSource (i) は有効で、CroppedBitmap への呼び出しは ArgumentException、「値が許容範囲内にありません」をスローします。

MSDN から直接別の例を取り上げたところ、まったく同じ問題が発生しました

       BitmapSource i = (BitmapSource)this.FindResource("test");
        try
        {

            // Create an Image element.
            Image croppedImage = new Image();
            croppedImage.Width = 200;
            croppedImage.Margin = new Thickness(5);


            // Create a CroppedBitmap based off of a xaml defined resource.
            CroppedBitmap cb = new CroppedBitmap(
               i,
               new Int32Rect(30, 20, 105, 50));       //select region rect
            croppedImage.Source = cb;                 //set image source to cropped

再び新しい CroppedBitmap が InvalidArgument 例外をスローします

何かご意見は?

ありがとう

4

0 に答える 0