我想要的不是正常的fopen()
函数。我想打开图像,如双击图像,然后在imageViewer中打开图像。我想打开它。如何从C程序打开bmp图像文件
有没有通过C代码做到这一点的方法?所以基本上我希望它弹出并查看自己。
我在Ubuntu上。
我想要的不是正常的fopen()
函数。我想打开图像,如双击图像,然后在imageViewer中打开图像。我想打开它。如何从C程序打开bmp图像文件
有没有通过C代码做到这一点的方法?所以基本上我希望它弹出并查看自己。
我在Ubuntu上。
这取决于imageViewer
计划。
如果imageViewer
程序可以以这种方式在你的Linux命令行接口来调用
$imageViewer myfile.bmp
然后在你的C代码,你可以使用系统来打开文件,imageViewer
程序
system("imageViewer myfile.bmp");
问题可能是“如何调用外部程序”(例如参见Execute external program with specific parameters from windows c/c++ code)或如何使用特定的库/框架来“读取”bmp文件,打开gfx窗口并在窗口上“映射”图像;在Ubuntu上(使用GNOME?),你可以轻松地完成(并且超越简单的BMP),诸如https://developer.gnome.org/gnome-devel-demos/stable/image-viewer.c.html
尽管“从标题窗口”,该解决方案在其他地方工作,并有一个“Linux”的例子;关于SO的其他问题比我在飞行中挑选的那个更好地回答这个问题) – ShinTakezou 2013-04-23 10:16:57
这是C代码行上面的一个系统调用吗?这是系统调用的工作原理吗?即调用你想打开的应用程序+文件名打开? – Kraken 2013-04-23 10:11:49
系统将只允许执行外部命令。所以如果你的文件可以用你的imageviewer程序通过linux命令打开,那么你可以使用system – MOHAMED 2013-04-23 10:14:04
system()是一个“系统调用”,但它与名称“system”没有任何关系。 http://en.wikipedia.org/wiki/System_call – 2013-04-23 11:30:27