Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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
WPF-C#-如何使用Bitblit方法捕获位图的自定义形状?_Wpf_Image_Bitmap_Bit_Capture - Fatal编程技术网

WPF-C#-如何使用Bitblit方法捕获位图的自定义形状?

WPF-C#-如何使用Bitblit方法捕获位图的自定义形状?,wpf,image,bitmap,bit,capture,Wpf,Image,Bitmap,Bit,Capture,我和WPF,C#一起工作。我想使用BitBlit来捕获图像中覆盖另一个图像的部分。由于两个图像可以旋转,因此捕获的形状可能不是矩形。 不幸的是,Bitblit类似乎只接受一个矩形,而不接受其他对象 public static bool BitBlt( IntPtr hDC, int x, int y, int nWidth, int nHeight, IntPtr hSrcDC, int xSrc, int ySrc, in

我和WPF,C#一起工作。我想使用BitBlit来捕获图像中覆盖另一个图像的部分。由于两个图像可以旋转,因此捕获的形状可能不是矩形。 不幸的是,Bitblit类似乎只接受一个矩形,而不接受其他对象

public static bool BitBlt(
    IntPtr hDC,
    int x,
    int y,
    int nWidth,
    int nHeight,
    IntPtr hSrcDC,
    int xSrc,
    int ySrc,
    int dwRop
)
有人能帮我找到解决办法吗? 顺便说一句,我不必使用BitBlit,在我看来这是最好的方法 (仅供参考,我不是一名经验丰富的程序员)


BitBlt
是一种使用直接内存访问的低级别、非常快速的图像拷贝。因此,它仅限于矩形区域。要复制该区域,我将使用
BitBlt
捕获一个足够大的矩形区域,以包含整个交点,然后使用由两个原始形状的交点定义的剪辑路径将其绘制到新曲面上。非常感谢!你确实让我走上了正确的道路:)真的很感激!我似乎无法投票支持你的帮助