我正在使用C ++开发一个图像处理项目。要显示我想要使用默认ubuntu图像查看器(eog)的图像。我的Image16类中有函数可以读写PPM文件。我知道这些工作,因为我可以将它们写入硬盘,然后用eog打开它们。但是我不想将图像写入硬盘,因为我有一个SSD,每个图像大约100 Mb。我想直接将图像数据传输到eog中。然而,这会产生错误,我不确定原因。
ifstream in("/home/chase/Desktop/moon.ppm");
Image16 img = Image16::read_ppm(in);
in.close();
FILE* f = popen("eog /dev/stdin", "w");
img.write_ppm(f, 255);
pclose(f);
我设法让它与imagemagick显示和feh一起工作,但我真的不喜欢那些程序。我想尽可能使用eog。
答案 0 :(得分:0)
如果您真的坚持使用eog,则可以将其包装。例如,粗略的bash函数
import React from 'react';
import { useLocation } from 'react-router-dom';
// Active the Link on two URLs
export default () => {
// extract pathname from location
const { pathname } = useLocation();
return (
<li className='Navigation__list-item'>
<NavLink
to="/events"
isActive={() => ['/events', '/myevents'].includes(pathname)} >
Events
</NavLink>
</li>
);
};