作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从 COM 库(Microsoft Office Document Imaging 又名 MODI),我收到一个 IPictureDisp 形式的图像,我想将其转换为 System.Drawing.Image 对象。
最好的方法是什么?
目前我正在使用下面的代码,但它会抛出 NotImplementedException。
internal sealed class IPictureDispHost : AxHost
{
/// <summary>
/// Default Constructor, required by the framework.
/// </summary>
private IPictureDispHost() : base(string.Empty) { }
/// <summary>
/// Convert the image to an ipicturedisp.
/// </summary>
/// <param name="image">The image instance</param>
/// <returns>The picture dispatch object.</returns>
public new static object GetIPictureDispFromPicture(Image image)
{
return AxHost.GetIPictureDispFromPicture(image);
}
/// <summary>
/// Convert the dispatch interface into an image object.
/// </summary>
/// <param name="picture">The picture interface</param>
/// <returns>An image instance.</returns>
public new static Image GetPictureFromIPicture(object picture)
{
return AxHost.GetPictureFromIPicture(picture);
}
}
...
// somewhere later the conversion gets called
Image image = IPictureDispHost.GetPictureFromIPicture(picture);
这是异常堆栈跟踪:
System.NotImplementedException: The method or operation is not implemented.
at System.Windows.Forms.UnsafeNativeMethods.IPicture.GetHandle()
at System.Windows.Forms.AxHost.GetPictureFromIPicture(Object picture)
at DocumentViewer.IPictureDispHost.GetPictureFromIPicture(Object picture)
我的项目中引用了 stdole、System.Windows.Forms 和 System.Drawing。我错过了什么吗?
最佳答案
看看这个 article .
它描述了三种不同的选项,只需选择您认为最简单或“最干净”的选项(包括您声称不适合您的选项)。
<小时/>Olivier Jacot-Descombe:上面的链接已损坏。我已添加来自互联网文件馆的相应链接 WayBackMachine :
Converting between IPictureDisp and System.Drawing.Image (MSDN 博客 > Andrew Whitechapel)。
关于c# - 如何将 IPictureDisp 转换为 System.Drawing.Image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/468972/
从 COM 库(Microsoft Office Document Imaging 又名 MODI),我收到一个 IPictureDisp 形式的图像,我想将其转换为 System.Drawing.I
我是一名优秀的程序员,十分优秀!