【发布时间】:2011-07-24 14:20:32
【问题描述】:
我有一个用 C# 编写的 .NET (3.5 SP1) 库 (DLL)。我必须通过一个具有以下签名的类方法来扩展这个库:
public byte[] CreateGridImage(int maxXCells, int maxYCells,
int cellXPosition, int cellYPosition)
{
...
}
此方法应该执行以下操作:
- 输入参数
maxXCells和maxYCells定义单元格在X 和Y 方向上的大小。maxXCells和maxYCells是每个方向的单元格数。单个细胞是方形的。 (所以这是一种不对称的棋盘。) - 输入参数
cellXPosition和cellYPosition标识此网格中的一个特殊单元格,该单元格必须用叉号填充。 - 不需要花哨的图形,实际上只需要白色背景上的黑色网格线和其中一个单元格中的 X。
- 生成的图形必须为 jpg 格式。
- 必须在内存中创建此图形,不得将任何内容存储在磁盘上的文件中,也不得在屏幕上绘制。
- 该方法将生成的图像作为
byte[]返回
我对 .NET 中的图形函数非常陌生,所以我的问题是:
- 在没有额外第三方库的情况下,.NET 3.5 SP1 是否可以做到这一点(我想避免)?
- 我必须遵循哪些基本步骤,以及我需要了解哪些重要的 .NET 命名空间、类和方法才能实现此目标(尤其是在“内存中”绘制线条和其他简单的图形元素并转换结果转换成 jpg 格式的字节数组)?
提前感谢您的建议!
【问题讨论】:
-
各个单元格的宽度和高度应该是多少?我们知道它们应该是方形的,但我们仍然需要知道尺寸。
-
@Alison:单元格的宽度和高度(以像素为单位)将作为方法可以访问的类成员提供,或者简单地作为固定常量值提供。