该接口类提供了提供了用于访问、操作、绘制 LPV 图像对象的功能。 更多...
Public 成员函数 | |
| void | CopyFrom (ILImage *img, ILRegion *region, int panX, int panY) |
| void | CopyTo (ILImage *dstImg) |
| void | Draw (HDC hdc, double zoomX, double zoomY, double panX, double panY) |
| void | DrawAsMask (HDC hdc, double zoomX, double zoomY, double panX, double panY) |
| ILImage * | GetChannel (int channelIdx) |
| LPVErrorCode | Save (LString filename, ILRegion *region) |
| void | SetChannel (int channelIdx, ILImage *channelImage) |
| void | SetImageData (int w, int h, LPVOID dataPtr, int bpl, BOOL copyData) |
| void | SetSize (int w, int h) |
| void | SetTo (int val, ILRegion *region) |
| void | SetToColor (LColor val, ILRegion *region) |
Public 成员函数 继承自 ILObject | |
| ILObject * | Copy () |
| LPVErrorCode | Load (LString filename) |
| void | Reset () |
| LPVErrorCode | Save (LString filename) |
| BOOL | Valid () |
属性 | |
| int | BytesPerLine [get] |
| 每行像素数据的字节数,包含行末用于对齐的字节。 | |
| LPVOID | DataPointer [get] |
| 图像数据指针。注意不要在外部修改数据块的内容。 | |
| int | Height [get] |
| 图像的高度,行的总数 | |
| LPVImageFormat | ImageFormat [get, set] |
| 图像类型 | |
| int | Pixel (int x, int y) [get, set] |
| LColor | PixelColor (int x, int y) [get, set] |
| int | Width [get] |
| 图像的宽度,列的总数 | |
该接口类提供了提供了用于访问、操作、绘制 LPV 图像对象的功能。
图像是视觉系统的核心对象。该接口整合了用于表示一个矩形图像的所有功能,以一个二维密集矩阵的形式,按行存储图像的像素。
使用这个接口,需要创建一个 LImage 对象。
该接口提供了多种初始化图像数据的方式,以下列出几种较为常用的方式。
复制输入图像的内容并覆盖当前图像的指定位置
| [in] | img | 输入的图像。若输入图像的尺寸过大或超出当前图像的范围,多余部分将被忽略。 |
| [in] | region | 输入的区域。用于剪裁输入图像的一部分作为拷贝对象。可为空。 |
| [in] | panX | x 方向的平移量 |
| [in] | panY | y 方向的平移量 |
| void CopyTo | ( | ILImage * | dstImg | ) |
拷贝到另一个图像对象。
若当前图像类使用内部数据块,将拷贝该数据块到 dstImg,修改 dstImg 的图像数据,不会影响当前图像类。 否则,仅将数据指针传递到 dstImg,而不拷贝数据,修改 dstImg 的图像数据将同时修改当前图像类。
| [out] | dstImg | 拷贝到该目标图像 |
| void Draw | ( | HDC | hdc, |
| double | zoomX, | ||
| double | zoomY, | ||
| double | panX, | ||
| double | panY | ||
| ) |
| void DrawAsMask | ( | HDC | hdc, |
| double | zoomX, | ||
| double | zoomY, | ||
| double | panX, | ||
| double | panY | ||
| ) |
| ILImage* GetChannel | ( | int | channelIdx | ) |
从彩色图像中提取某一个给定索引的通道图像。仅用于彩色图像。
| [in] | channelIdx | 输入的通道索引,可为 0,1 或 2 |
| channelImage | 返回通道图像。这是一张灰度图,尺寸与当前的彩色图像相同。 |
| LPVErrorCode Save | ( | LString | filename, |
| ILRegion * | region | ||
| ) |
| void SetChannel | ( | int | channelIdx, |
| ILImage * | channelImage | ||
| ) |
设置彩色图像中某一个给定索引的通道图像。仅用于彩色图像。
| [in] | channelIdx | 输入的通道索引,可为 0,1 或 2 |
| [in] | channelImage | 输入的通道图像。这是一张灰度图,尺寸与当前的彩色图像相同。 |
| void SetImageData | ( | int | w, |
| int | h, | ||
| LPVOID | dataPtr, | ||
| int | bpl, | ||
| BOOL | copyData | ||
| ) |
通过外部创建和管理的数据块,初始化图像数据。
若 copyData 设置为 False,该外部数据块覆盖当前图像类内部创建的数据块,用户需要保证在图像类的整个生命周期里,该外部数据块始终存活。
若 copyData 设置为 True,图像类将会把数据从外部数据块中拷贝到其内部创建的数据块中,并在内部管理其生命周期,用户无需额外保存该外部数据块。
| [in] | w | 图像的宽度,以像素为单位的正整数。 |
| [in] | h | 图像的高度,以像素为单位的正整数。 |
| [in] | dataPtr | 指向外部数据块的数据指针 |
| [in] | bpl | 每行像素数据的字节数,包含行末用于对齐的字节。若设置为 0,则按照无对齐的假设,以图像宽度和每个像素的字节数自动计算。 |
| [in] | copyData | 是否拷贝外部数据块的内容。 |
| void SetSize | ( | int | w, |
| int | h | ||
| ) |
设置图像为指定尺寸。像素的数值为未定义的,可调用 SetTo() 或 SetToColor() 接口将其全部设置为 0 或其他数值。 如果当前图像尺寸与设置尺寸相同,保留当前数据。 输入 0 的宽度和高度,将重置该图像为空。
| [in] | w | 输入图像宽度 |
| [in] | h | 输入图像高度 |
| void SetTo | ( | int | val, |
| ILRegion * | region | ||
| ) |
将图像中给定区域内的像素设置为指定的灰度值
| [in] | val | 灰度值 |
| [in] | region | 输入的区域。若输入区域的尺寸过大或超出当前图像的范围,多余部分将被忽略。可为空,表示整个图像。 |
将图像中给定区域内的像素设置为指定的 RGB 值。仅用于彩色图像。
| [in] | val | 颜色值 |
| [in] | region | 输入的区域。若输入区域的尺寸过大或超出当前图像的范围,多余部分将被忽略。可为空,表示整个图像。 |
|
getset |
图像中某个像素的灰度值
| [in] | x | 像素的 x 坐标 |
| [in] | y | 像素的 y 坐标 |
|
getset |
图像中某个像素的颜色值
| [in] | x | 像素的 x 坐标 |
| [in] | y | 像素的 y 坐标 |