【发布时间】:2016-11-08 13:48:57
【问题描述】:
我有兴趣在 Bitmap 对象上创建一个扩展方法,这样我就可以像这样简单地调用它:
Bitmap bmp = new Bitmap(...);
bmp.GrayScale();
得到的bmp是灰度的。
目前我有一个扩展方法Bitmap GrayScale(this Bitmap bmp),但要使用它我不得不说bmp = bmp.GrayScale()
它有效,但我想使用bmp = bmp. 表示法消除。
谢谢
【问题讨论】:
-
看看this post的答案。
-
@diiN_ 当我这样做时,我的
bmp.GrayScale()出于某种原因不会更改调用对象。但是,如果我返回该值并将其分配给我的原始对象bmp = bmp.GrayScale()它可以工作。 -
@DanDef 不,不一样。
-
@SollyM 我误解了你在问什么。您需要确保扩展方法修改了传入的
Bitmap。它似乎正在根据原始创建一个新的Bitmap并返回它。
标签: c#-4.0 bitmap extension-methods