2017-04-11 146 views
0

我的PDF文件在CDialogEx渲染(这是MFC类),我要的是重新设置分辨率当对话框大小.....Mupdf:如何正确地重置PDF查看页面的分辨率当CDialogEx(MFC)OnSize?

我发现通过mupdf offical downloads site的解决方案:第一套所需使用pdfapp_setresolution(...)分辨率,然后调用pdfapp_reloadpage(...)。这达到了我的目标,但并不完美,用这种方法显示对话框得到了明显的重绘(先是背景色,然后恢复正常)...

有人有更好的优化吗?谢谢

+0

pdfapp_reloadpage()似乎只在mupdf的X11口也是存在的,如果你使用MFC你大概不会使用X11 。请张贴您当前实施的实际源代码。 – JosephH

+0

问题已经通过参考示例代码[source](https://mupdf.com/downloads/)解决(mupdf-1.11-source.tar.gz \t 2017-04-11 08:42 \t 38M)(search API> void pdfapp_autozoom()在pdfapp.c源文件中) – nUOs

+0

(0)windows7 64bit(1)VS2015 Ent(3)MFC dev – nUOs

回答

0

1st。根据view_window大小通过API调整pdfapp_t对象的大小pdfapp_onresize()

2nd。调整pdfapp_t对象的分辨率//#attentison#此处的分辨率需要根据实际需求进行一些转换,请参阅pdfapp.c源文件中的API pdfapp_autozoom()。

3rd。显示页面通过pdfapp_showpage()

多数民众赞成在所有:)也许对某人有帮助。

PS:教训是,首先引用了详细的官方文件例如:)