从 HBITMAP 中删除边框
Removing Border From HBITMAP
我有一个HBITMAP,它是使用Excel Interop的CopyPicture方法创建的。出于某种原因,这会在图像的顶部和左侧边缘放置灰色边框,即使它们不是电子表格的一部分。有人可以告诉我一种从图像中删除这些边框的简单方法。我想到的方法是获取字节数组中的位,从该字节数组中删除第一行和第一列,然后将数组转换回位图。有没有更简单或更好的方法?喜欢一个简单的修剪功能?
如果您知道边框的尺寸,则可以通过创建应用了新边界框的clone
的副本来裁剪位图:
int croppedWidth = x;
int croppedHeight = y;
Rectangle r = Rectangle(0, 0, croppedWidth, croppedHeight);
System::Drawing::Imaging::PixelFormat format = src->PixelFormat;
Bitmap^ result = src->Clone(r, format);
这会使用 r
裁剪src
位图,并将副本放入 result
中。
相关文章:
- 将数组的地址分配给变量并删除
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- C/C++编译器通常会删除重复的库吗
- 从链接列表c++中删除一个项目
- C++如何通过用户输入删除列表元素
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- 是否需要删除包含对象的"pair"?
- 如何在自删除后将对象设置为nullptr
- 迭代时从向量和内存中删除对象
- 使用函数"remove"删除重复元素
- 如何从多映射中删除特定的重复项
- 运算符C++ "delete []"仅删除 2 个前值
- 删除指向指针的指针是运行时错误吗
- QLabel,删除边框和背景
- 删除位的边框
- 如何删除 QGraphicsItem 周围的边框
- 在 QGraphicsGridLayout 中从 QWidgets 中删除边框
- 从 HBITMAP 中删除边框
- 如何使用C++从 OpenCV 中的框架中删除黑色边框
- ncurses:是否可以在不删除边框的情况下刷新窗口