コードを使用してグリッドの背景を設定しようとしています。グリッドのサイズは 1000 x 1000 で、読み込まれた PNG と同じサイズです。この PNG をストリームに読み込み、次のコードを実行します。
using (StreamWrapper wrapper = new StreamWrapper(streamImg))
using (BinaryReader reader = new BinaryReader(wrapper))
{
originalImage = new BitmapImage();
originalImage.BeginInit();
originalImage.CacheOption = BitmapCacheOption.OnLoad;
originalImage.StreamSource = reader.BaseStream;
originalImage.EndInit();
originalImage.Freeze();
}
ib = new ImageBrush() { ImageSource = ConvertToGrayScale(ref originalImage) };
grdQuebraCabeça.Background = ib;
private FormatConvertedBitmap ConvertToGrayScale(ref BitmapImage image)
{
FormatConvertedBitmap grayImage = new FormatConvertedBitmap();
grayImage.BeginInit();
grayImage.Source = image;
grayImage.DestinationFormat = PixelFormats.Gray32Float;
grayImage.EndInit();
return grayImage;
}
次のスクリーンショットが結果です。
右下に黒いブロックが見えます。画像をグリッドの中央に配置したい。それは可能ですか?どうすればこの結果を達成できますか?