如何复制/粘贴图像数据
How do you copy/paste image data?
使用C++和WinAPI,如何将预加载图像中的图像数据复制到剪贴板中?
您需要创建一个实现IDataObject
的对象,然后使用OleSetClipboard
将其放置在剪贴板上。
将数据放入剪贴板时,可以指定多种格式。这样,读取剪贴板的应用程序就可以枚举格式并决定使用哪种格式。
有相当多的">标准"剪贴板格式(具有已知的常数值(,例如:
CF_BITMAP
:位图(HBITMAP(的句柄CF_DIB
:一个内存对象,包含后面跟有位图位的BITMAPINFO结构CF_DIBV5
:一个内存对象,包含BITMAPV5HEADER结构,后跟位图颜色空间信息和位图位
您也可以使用RegisterClipboardFormat
注册自定义格式。Office将图像公开为他们注册的多种不同格式,例如:
DWORD CF_PNG = RegisterClipboardFormat("PNG");
DWORD CF_JFIF = RegisterClipboardFormat("JFIF");
DWORD CF_GIF = RegisterClipboardFormat("GIF");
DWORD CF_ENHMETAFILE = RegisterClipboardFormat("CF_ENHMETAFILE");
DWORD CF_METAFILEPICT = RegisterClipboardFormat("CF_METAFILEPICT ");
MSDN页面上的EditCopy函数提供了一个很好的例子来说明您想要实现的目标:
http://msdn.microsoft.com/en-us/library/ms649016(v=vs.85(.aspx
您需要将数据类型从CF_TEXT更改为CF_BITMAP,以便告诉窗口它是位图mime类型。
相关文章:
- OpenCV(C++)处理来自JavaScript / Web Assembly的图像数据
- VTK 图像数据,访问数组中的 1 个图像
- 处理来自IMFSourceReader和IMFSample的图像数据
- 如何返回定义良好的内存部分?例如来自图像数据的像素的颜色值
- 如何从amd gpus的显示输出中获取图像数据
- 如何将OpenCV图像数据从Python转换为C++?
- 以高数据速率发送图像数据超过提升::asio::udp?
- 如何将图像数据从搜索窗口中移动到本地存储器OpenCL
- 如何从内存中读取原始图像 (YUV 4:2:2) 格式的图像数据
- 如何使用JNI + OpenCV + NDK获取原始的android相机传感器图像数据
- 将图像数据尽快写入磁盘
- 输入层类型:图像数据在窗口咖啡cpp中给出空白输出
- Debbuger 用于可视化图像数据
- 显示图像数据
- C - 将UINT8_T*将图像数据转换为双**图像数据
- 如何以最佳方式将高分辨率图像数据存储在无符号字符*中C++
- 如何访问 win32 缩略图的图像数据
- 强制 WIC 将图像数据视为 RGB
- 为 ppm/pgm 图像数据创建存储
- 从数据库中以 blob 数据类型形式存储的原始图像数据中检索 CImage 对象