Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有时候,在获取文件缩略图时,位图是颠倒的_C#_Gdi_Hbitmap - Fatal编程技术网

C# 有时候,在获取文件缩略图时,位图是颠倒的

C# 有时候,在获取文件缩略图时,位图是颠倒的,c#,gdi,hbitmap,C#,Gdi,Hbitmap,我使用此方法获取文件的缩略图(保持透明度…): 我遇到了同样的问题。将剪贴板中的图像倒置。我设法发现,您可以检查步幅值以查看图像是否反转: BitmapData d = bmp.LockBits(rect, ImageLockMode.ReadWrite, bmp.PixelFormat); bmp.UnlockBits(d); if (d.Stride > 0) { bmp.RotateFlip(RotateFlipType.Rotate180FlipNone); } 如果步

我使用此方法获取文件的缩略图(保持透明度…):


我遇到了同样的问题。将剪贴板中的图像倒置。我设法发现,您可以检查步幅值以查看图像是否反转:

BitmapData d = bmp.LockBits(rect, ImageLockMode.ReadWrite, bmp.PixelFormat);
bmp.UnlockBits(d);

if (d.Stride > 0)
{
    bmp.RotateFlip(RotateFlipType.Rotate180FlipNone);
}
如果步长值大于零,则图像将反转

安迪

if (isUpsideDown)
{
    int offset = (dibsection.dsBmih.biHeight - y - 1) * dibsection.dsBmih.biWidth + x;
}
else
{
    int offset = y * dibsection.dsBmih.biWidth + x;
}
BitmapData d = bmp.LockBits(rect, ImageLockMode.ReadWrite, bmp.PixelFormat);
bmp.UnlockBits(d);

if (d.Stride > 0)
{
    bmp.RotateFlip(RotateFlipType.Rotate180FlipNone);
}