C++でjpgファイルをbmpファイルに変換する方法

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
おならちゃん。

C++でjpgファイルをbmpファイルに変換する方法

#1

投稿記事 by おならちゃん。 » 14年前

デスクトップの壁紙を変えるプログラムを書こうとおもったのですが、windows7では画像ファイルをbmpに
しなくても、成功したのですが、XPにした途端にエラーがでました。
systemparameterinfoに、デスクトップのフルパスを入れていたのですが、XPでもbmpファイルなら成功します。
なので、jpgのファイルのフルパスを指定して、そのファイルをメモリにコピーして、それを変換して、systemparameterinfoを使って、画像表示をしたいのですが、調べたっ結果DLLファイルや、jpeg-8dを使ってみようと思ったのですが、どのように使えばいいのかわからず、DLLを使う方法では、http://officetanaka.net/other/extra/tips03.htm
DLLをどうしていいのかわからずに、フォルダにいれてみたりしたのですが、わかりませんでした。
jpeg-8dはライブラリーファイル?なのでDxlibを入れたときと同じ用にして使ってみましたが、エラーが100個以上でて、、、あきらめました。


もっと簡単な方法はないのでしょうか?ちなみにCimageは、使えない環境でやっています。
VC++の2008でやっています。XPです。

ご回答よろしくお願いします。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: C++でjpgファイルをbmpファイルに変換する方法

#2

投稿記事 by ISLe » 14年前

GDI+を使ってJPEG形式の画像ファイルを読み込んで、BMP形式の画像ファイルを書き出したら良いのでは?
標準装備のAPIを使うので難しくないと思いますが。
読み込みは『GDI+ JPEG ファイル読み』、書き出しは『BMP ファイル書き』といったワードで検索するとサンプルコードが見付かりますよ。

おならちゃん。

Re: C++でjpgファイルをbmpファイルに変換する方法

#3

投稿記事 by おならちゃん。 » 14年前

ISLe様ご回答ありがとうございます m(__)m
検索してみます!

おならちゃん。

Re: C++でjpgファイルをbmpファイルに変換する方法

#4

投稿記事 by おならちゃん。 » 14年前

http://lamoo.s53.xrea.com/develop/gdipl ... ml#install
ここのサイトを参考にしているのですが、開始、終了処理が出来ませんでした。
導入の場所では「こっそりGDI+のライブラリ(.lib)とヘッダ」こっちをデスクトップにおいてvisual c++でインクルードファイルとライブラリーファイルを
プロジェクトおよびソリューションのVC++ディレクトリにパスを通せば、導入されていますよね?
かなりの数のエラーがでました。
こんな感じです。
___________________________________________________
>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(6) : error C2146: 構文エラー : ';' が、識別子 'GdiplusStartup' の前に必要です。
1>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(6) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(8) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(8) : error C2143: 構文エラー : ',' が '*' の前にありません。
1>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(9) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(68) : error C2871: 'Gdiplus' : この名前を指定された名前空間は存在しません。
1>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(75) : error C2065: 'GdiplusStartupInput' : 定義されていない識別子です。
1>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(75) : error C2146: 構文エラー : ';' が、識別子 'gdiplusStartupInput' の前に必要です。
1>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(75) : error C2065: 'gdiplusStartupInput' : 定義されていない識別子です。
1>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(77) : error C2065: 'gdiplusStartupInput' : 定義されていない識別子です。

Ryo

Re: C++でjpgファイルをbmpファイルに変換する方法

#5

投稿記事 by Ryo » 14年前

まず

>c:\documents and settings\pp\my documents\visual studio 2008\projects\test\test\test.cpp(6) : error C2146: 構文エラー : ';' が、識別子 'GdiplusStartup' の前に必要です。

このエラーだけでも治してみましょう。
一か所でもエラーがあると、その後のエラーを誘発することがよくあります
(定義にミスってればそれを使用する場所でもエラーがでる という風に)

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: C++でjpgファイルをbmpファイルに変換する方法

#6

投稿記事 by ISLe » 14年前

おならちゃん。 さんが書きました:導入の場所では「こっそりGDI+のライブラリ(.lib)とヘッダ」こっちをデスクトップにおいてvisual c++でインクルードファイルとライブラリーファイルを
プロジェクトおよびソリューションのVC++ディレクトリにパスを通せば、導入されていますよね?
リンク先のページにも書いてありますが、Visual Studio.NET(2002)以降は標準装備です。
ランタイムDLLに関してもXP以降は標準装備です。
なので何かを追加する必要はありません。


読み取りにくい文章ですが、エラーメッセージからすると『開始・終了処理』の章の最後にあるソースコードでエラーが出たということですね。
gdiplus.hをインクルードすれば良いと思いますが、このソースコードを見た時点でそれが足りないのが分からないとなるとこの先も苦労する気がします。

おならちゃん。

Re: C++でjpgファイルをbmpファイルに変換する方法

#7

投稿記事 by おならちゃん。 » 14年前

ご回答ありがとうございました。 無事に変換することに成功しました。

閉鎖

“C言語何でも質問掲示板” へ戻る