我有一个名为BitmapZone的Bitmap类的包装器类。

假设我们有一个WIDTH x HEIGHT位图图片,则该包装类应用于允许我自己发送给其他方法/类而不是原始位图。然后,我可以更好地控制用户是否可以处理图片(并且不必为每个方法/类多次复制位图来发送)。

我的问题是:知道所有BitmapZone都是从位图创建的,您觉得更可取的是什么?

构造函数语法:类似

BitmapZone bitmapZone = new BitmapZone(originalBitmap, x, y, width, height);

工厂方法模式:
BitmapZone bitmapZone = BitmapZone.From(originalBitmap, x , y, width, height);

工厂方法模式:
BitmapZone bitmapZone = BitmapZone.FromBitmap(originalBitmap, x, y, width, height);

其他?为什么?

谢谢

最佳答案

将方法放在Bitmap而不是BitmapZone中。

BitmapZone bitmapZone = originalBitmap.GetZone(x, y)

您自己说过:“每个BitmapZone都是从位图创建的”。这样,您就可以从五个参数转到两个参数,因为您不需要传递位图,并且每个位图大概都知道自己的宽度和高度。
(否则,您打算如何做?new BitmapZone(originalBitmap, x, y, originalBitmap.Width, originalBitmap.Height)?丑陋。)

如果您不能更改Bitmap类,则将其设为扩展方法(当然,这在Java中不起作用)。

07-26 05:17