2017-11-28 18 views
0

나는 우분투 데스크탑과 슬라이드 쇼가 실행되어야하는 대상 라즈베리 파이에서 완벽하게 순차적으로 무작위로 작동하는 슬라이드 쇼를 수행하기 위해 C++ 프로그램을 작성했습니다.Cimg 디스플레이 전체 화면

#include "CImg.h" 
using namespace cimg_library; 
int main(int argc, char **argv) { 
const char const folder = cimg_option("-i",".","Path containing pictures"); 
char pattern[1024]; 
std::snprintf(pattern,1024,"%s/.jpg",folder); 
const CImgList filenames = cimg::files(pattern,true,0,true); 

CImgDisplay disp(1,1,0,0,1,1); 
cimglist_for(filenames,l) { 
const char 
*const filename = filenames[l], 
*const basename = cimg::basename(filename); 
const CImg img(filename); 
disp.resize(cimg_fitscreen(img.width(),img.height(),1),0); 
disp.display(img).set_title(basename); 
if (disp.is_keyESC()) std::exit(0); 
cimg::wait(3000); 
} 
return 0; 
}" 

이 프로그램은 완벽하게 실행되지만 사진은 내가처럼 전체 화면으로 표시되지 않습니다

이것은 기본적으로 내가 디스플레이로 사용하는 코드입니다. 이유는 크기 조정 처리에 따라 달라집니다. 나는 __ set_fullscreen() 명령을 보았습니다. 그러나 해결책을 얻지 못했습니다.

나는 변형없이 전체 화면에서 (Ubuntu Shotwell Photo Manager 또는 Raspberry Image Viewer처럼) 사진을 보았습니다.

코드 작성 방법에 대한 예를 들어 주시면 감사하겠습니다. 감사합니다, 레나토 ROCCI

답변

0

당신은 검은 색을 원하는 경우에

disp.resize(CImgDisplay::_fitscreen(img.width(),img.height(),1,0,-100,false), 
      CImgDisplay::_fitscreen(img.width(),img.height(),1,0,-100,true),0); 

, 추가

disp.resize(cimg_fitscreen(img.width(),img.height(),1),0); 

로 변경

CImgDisplay bg(CImgDisplay::screen_width(),CImgDisplay::screen_height(),0,0,1,0); 

전에

CImgDisplay disp(1,1,0,0,1,1); 
+0

지연에 대해 사과드립니다. 귀하의 제안은 완벽하게 작동합니다. 고맙습니다. –

+0

당신을 진심으로 환영합니다. 이 답변으로 문제가 해결되면 [수락] (https://stackoverflow.com/help/someone-answers) 할 수 있다면 좋을 것입니다. – Stef