0

これは、私たちの大学が私たちに求めているプロジェクトです(3番目の場所での助けを求めることは制限されていません)オブジェクトがテクスチャでマッピングされた3Dシーンを構築する必要があります。

BMPファイルのデータをプログラムにロードする必要がある場所で立ち往生しています。システムにすでに存在するライブラリを使用する必要があります(コーディングは禁止されています)。

私のリクエストは次のとおりです。fedora(gnome環境)を使用して、BMPファイルをロードしてペイロードへのポインターを返す関数が存在するビルド済みライブラリはありますか?

編集:追加のlibをインストールすることは禁じられています。libはFedoraのビルド済みlibである必要があります。

4

3 に答える 3

3

GDKライブラリと関数gdk_pixbuf_new_from_fileを見てください。APIでわかるように、次のものを使用できます。

GdkPixbuf *bmp_pixbuf;
GError *error = NULL;
bmp_pixbuf = gdk_pixbuf_new_from_file ("/tmp/myfile.bmp", &error);
if (bmp_pixbuf == NULL) {
    /* Error codes are GDK_PIXBUF_ERROR and G_FILE_ERROR */
}

最初に、以下を使用してGDKのBMPサポートを確認することが重要です。

$ gdk-pixbuf-query-loaders-64 | grep bmp

libpixbufloader-bmp.soのようなライブラリが必要です。

3Dシーンの作成にどのライブラリを使用しているかはわかりませんが、gdk_pixbuf_get_pixelsを使用してpixbufをロードし、サーフェスにロードした後、生のピクセルを取得できます。

この助けを願っています。

于 2012-10-20T21:47:38.977 に答える
0

freeimageは、bmpイメージをアップロードするメソッドを持つパッケージ名です。freeimageプロジェクトページのオンラインドキュメントから、APIを確認できます。

DLL_API FIBITMAP *DLL_CALLCONV FreeImage_Load(FREE_IMAGE_FORMAT fif, const char
*filename, int flags FI_DEFAULT(0));

あなたはできる

yum install freeimage-devel

開発のためのfedoraについて。この方法を使用して、ライブラリにリンクします。

于 2012-10-20T11:32:29.937 に答える
0

以前の回答を再利用します:

Sean Barrettのstb_image.cは、JPEG、PNG、BMP、TGA、PSD、GIF、HDR、およびPICファイル用のスタンドアロンの単一ファイルパブリックドメインイメージローダーです。

于 2012-10-20T21:51:26.117 に答える