Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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# 如何在System.Drawing.Bitmap的形状中绘制阴影?_C#_.net_Winforms_System.drawing - Fatal编程技术网

C# 如何在System.Drawing.Bitmap的形状中绘制阴影?

C# 如何在System.Drawing.Bitmap的形状中绘制阴影?,c#,.net,winforms,system.drawing,C#,.net,Winforms,System.drawing,我们的应用程序有大量的System.Drawing.Bitmaps,它们将以阴影显示。在给定模糊半径和颜色的情况下,绘制阴影的快速方法是什么?这是一个winforms应用程序,没有WPF。p/invoke优先于不安全代码,但理想情况下两者都不是;不允许使用第三方库 我看过“假人图像处理”教程,但它使用了不安全的代码。我想你提到的使用不安全代码的教程使用了不安全的代码来加速模糊的卷积。你也可以不使用不安全的代码来重写,这样会更慢。这样做怎么样: ControlPaint.DrawImageDisa

我们的应用程序有大量的
System.Drawing.Bitmap
s,它们将以阴影显示。在给定模糊半径和颜色的情况下,绘制阴影的快速方法是什么?这是一个winforms应用程序,没有WPF。p/invoke优先于不安全代码,但理想情况下两者都不是;不允许使用第三方库


我看过“假人图像处理”教程,但它使用了不安全的代码。

我想你提到的使用不安全代码的教程使用了不安全的代码来加速模糊的卷积。你也可以不使用不安全的代码来重写,这样会更慢。

这样做怎么样:

ControlPaint.DrawImageDisabled(g, image, x + 2, y + 2, width, height);
g.DrawImage(image, x, y, width, height);

我编写了一个vb.net子程序,可以轻松地为位图对象绘制阴影;可以获得迷人的阴影,并且可以编辑相同阴影的属性,如不透明度、柔和度、距离或圆角

请看下面的代码和示例:

马克斯