C# 使用Shellfile获取位图源更改窗口大小

C# 使用Shellfile获取位图源更改窗口大小,c#,winforms,bitmap,windows-api-code-pack,C#,Winforms,Bitmap,Windows Api Code Pack,我这行代码把一切都搞糟了 private void button1_Click(object sender, EventArgs e) { BitmapSource bitmapSource = ShellFile.FromFilePath(@"myfilepath").Thumbnail.ExtraLargeBitmapSource; } 因此,在这一行代码运行之后,整个窗口的大小将被重新调整,这似乎与分辨率和DPI有关。我怎样才能

我这行代码把一切都搞糟了

private void button1_Click(object sender, EventArgs e)        
{        
    BitmapSource bitmapSource =
        ShellFile.FromFilePath(@"myfilepath").Thumbnail.ExtraLargeBitmapSource;  
}
因此,在这一行代码运行之后,整个窗口的大小将被重新调整,这似乎与分辨率和DPI有关。我怎样才能解决这个问题

截图:

  • 之前:
  • 之后:
我这样做是因为我想得到任何文件的透明缩略图,并且由于某种原因,当我刚得到位图时,透明是黑色的。因此,我必须获取源代码并将其转换为位图,但这在没有其他代码的情况下发生

我知道我可以设置透明的颜色,但这不是一个完美的解决方案,而且一些图像看起来很奇怪,所以我不打算这样做