2017-04-14 1 views

答えて

0

ソリューションを迅速SFMLドキュメントページで見つけることができ、here. SF :: RenderWindowの:: setIcon()メソッドは、しかし、実際のアイコンは、ピクセルのアレイへのポインタによって表されなければならない、アプリケーションウィンドウをアイコンを与えることができます。

これは、.rcヘッダーファイルとピクセル配列を含む.cファイルを作成することで実現できます。配列は、GIMPの "Cソースイメージダンプ"能力を使用して作成することができます。

例:

.rcファイル:

//icon.rc 
IDR_APP_ICON ICON "icon.ico" 
GLUT_ICON ICON "icon.ico" 

.Cファイル:生成されたStructオブジェクトがその後setIconに引数(として渡すことができる

//icon.c 

/* GIMP RGBA C-Source image dump (icon.c) */ 

static const struct { 
    unsigned int width; 
    unsigned int height; 
    unsigned int bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */ 
    unsigned char pixel_data[32 * 32 * 4 + 1]; 
} gimp_image = { 
    32, 32, 4, 
    "k\177h\377k\177h\377\377\377\377\0\377\377\377\0\377\377\377\0\204`\236\201"` 

//The array pixel array would continue here until }; closing the struct. 

)方法。

sf::RenderWindow::setIcon(gimp_image.width, gimp_image.height, gimp_image.pixel_data); 

そしてicon.cファイルはmain.cppにファイルに含まれるべきか、それはあなたがRenderWindowのにアイコンを設定しているところはどこでも。

関連する問題