2017-11-28 11 views
0

私はubuntuデスクトップとスライドショーを実行するターゲットのRaspberry Piでも完全に連続してランダムに動作するスライドショーを実行するためのC++プログラムを作成しました。Cimg Display fullscreen

これは基本的に私は、ディスプレイに使用したコードです:

#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