C# and Ghostscript 64bit
C# and Ghostscript 64bit
我正在编写开源C#Ghostscript包装器。你可以试试看(http://ghostscriptnet.codeplex.com)。大部分功能都已实现,并且可在两个版本上使用(x86/x64)。我遇到的问题是,当我初始化显示设备以将pdf直接呈现到屏幕时(我成功地实现了gsapi_set_display_callback回调)。
我使用的参数如下:
string[] args = new string[] {
"",
"-sDEVICE=display",
"-dTextAlphaBits=4",
"-dGraphicAlphaBits=4",
"-dDisplayHandle=1234",
"-dDisplayResolution=72",
"-dDisplayFormat=" + ((int)DISPLAY_FORMAT_COLOR.DISPLAY_COLORS_RGB |
(int)DISPLAY_FORMAT_ALPHA.DISPLAY_ALPHA_NONE |
(int)DISPLAY_FORMAT_DEPTH.DISPLAY_DEPTH_8 |
(int)DISPLAY_FORMAT_ENDIAN.DISPLAY_LITTLEENDIAN |
(int)DISPLAY_FORMAT_FIRSTROW.DISPLAY_BOTTOMFIRST).ToString() };
这个参数在32位版本上运行良好,并且我能够将pdf页面呈现到屏幕上。初始化工作正常。
当我切换到64位版本时,我会得到类型检查(e_typecheck=-20)错误。
我知道64位版本使用-sDisplayFormat,我也尝试过,但没有成功。
有人知道如何将设备初始化为64位版本Ghostscript库上的显示吗?我不认为我错过了什么。这是64位版本的重影脚本库中的一个错误吗?
我尝试了Ghostscript库的早期版本,在64位版本上也遇到了同样的错误。
我使用的当前版本是9.09。类,您可以在其中查看代码:Ghostscript.NET.Viewer.GhostscriptViewer.cs
已解决。第一个问题是,对于64位版本,需要使用sDisplayHandle,因为传入的值应该是字符串。32位版本使用-dDisplayHandle(数字值)。第二个问题是我的StructureLayout Pack=1。64位版本应为0。
相关文章:
- c++ visual studio 64bit | save registers value
- Qt on Visual Studio 2010 and win7 64bit
- Google协议缓冲区-64bit VS2010
- I_CHILDRENCALLBACK 64bit failing
- 为VS2010、WINDOWS7、64BIT生成CUDA示例时出错MSB3721
- 未解析的包含:<stdio.h> in Eclipse helios(Windows 7 64bit)
- C# and Ghostscript 64bit
- Ghostscript API 请求"press <return> to continue"
- Using Clang on Mingw 64bit
- Windows 64bit shared dll Tesseract?
- 使用.net或任何其他语言在内存中进行ghostscript转换
- 64bit atomicAdd in CUDA
- 如何使用Ghostscript执行RedMon的自动安装
- 如何用tdmgcc5.1编译wxwidget3.1?版本64bit在i5 windows 7 64biti上,并在代码块