1

コードを使用してグリッドの背景を設定しようとしています。グリッドのサイズは 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;
}

次のスクリーンショットが結果です。 上記のコードを WPF で実行した結果

右下に黒いブロックが見えます。画像をグリッドの中央に配置したい。それは可能ですか?どうすればこの結果を達成できますか?

4

0 に答える 0