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 例外をスローします
何かご意見は?
ありがとう