WPF имеет встроенные преобразователи для определенных типов. При привязке свойства Image's Source
с string
или Uri
значение, под капотом, WPF будет использовать ImageSourceConverter для преобразования значения в ImageSource
.
Так
работал бы, если бы свойство ImageSource было строковым представлением допустимого URI к изображению.
Вы можете, конечно, самокрутка Обязательный преобразователь:
public class ImageConverter : IValueConverter
{
public object Convert(
object value, Type targetType, object parameter, CultureInfo culture)
{
return new BitmapImage(new Uri(value.ToString()));
}
public object ConvertBack(
object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
и использование это как это:
Генерировать 1024 случайных бита. Используйте случайный источник, который достаточно силен для вашего намеченного назначения.
Установите старший и младший биты в 1. Это гарантирует отсутствие ведущих нулей (первичный кандидат достаточно велик) и не четное число (определенно не простое).
Тест на простоту . Если это не простое число, вернитесь к 1.
Или используйте библиотечную функцию, которая генерирует простые числа.
Use a library function, such as OpenSSL. There's no need to write this yourself.
1024 - это много. Вы уверены, что вероятностное простое число не подойдет? Генератор вероятностных простых чисел является частью JDK
To trade memory for speed you could just generate them and store them in a list and then randomly pick one.
Edit: Naturally you can't generate them all so the best you could achieve is pseudo randomness at a high memory cost. Also this isn't good if you want it for security.