2013-04-23 50 views
0

我想要的不是正常的fopen()函数。我想打开图像,如双击图像,然后在imageViewer中打开图像。我想打开它。如何从C程序打开bmp图像文件

有没有通过C代码做到这一点的方法?所以基本上我希望它弹出并查看自己。

我在Ubuntu上。

回答

2

这取决于imageViewer计划。

如果imageViewer程序可以以这种方式在你的Linux命令行接口来调用

$imageViewer myfile.bmp 

然后在你的C代码,你可以使用系统来打开文件,imageViewer程序

system("imageViewer myfile.bmp"); 
+0

这是C代码行上面的一个系统调用吗?这是系统调用的工作原理吗?即调用你想打开的应用程序+文件名打开? – Kraken 2013-04-23 10:11:49

+0

系统将只允许执行外部命令。所以如果你的文件可以用你的imageviewer程序通过linux命令打开,那么你可以使用system – MOHAMED 2013-04-23 10:14:04

+0

system()是一个“系统调用”,但它与名称“system”没有任何关系。 http://en.wikipedia.org/wiki/System_call – 2013-04-23 11:30:27

1

问题可能是“如何调用外部程序”(例如参见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

+0

尽管“从标题窗口”,该解决方案在其他地方工作,并有一个“Linux”的例子;关于SO的其他问题比我在飞行中挑选的那个更好地回答这个问题) – ShinTakezou 2013-04-23 10:16:57