お世話になっております。
VC2005を使用しております。
CImageを使用して任意のファイル名で保存したいのですが。
CImage SaveImage;
CString ss;
ss="1111.jpg";
SaveImage.Save(filename); ----(1)
SaveImage.Save("1111.jpg"); ----(2)
(2)のように直接ファイル名を書き込むと正常に保存できますが、
(1)のように間接的に書き込むと正常に保存できません。
どのようにすれば(1)のような方法で保存できるのでしょうか?
教えていただけないでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
★覚えていますか?
・前回 Unicode 文字列でないといけないと書きましたけど。
Save メソッドは Unicode の文字列でないといけないようです。
>SaveImage.Save("1111.jpg"); ----(2)
↑
これは VC2005 の文字列リテラルのデフォルトが Unicode に設定されています。
なので直接文字列で指定すると保存されるのです。
>SaveImage.Save(filename); ----(1)
↑
これは CString クラスですよね。
CString filename = TEXT( "1111.jpg" );
とすれば出来ませんか?
http://msdn2.microsoft.com/ja-jp/library/8a994df …
・普段 CString 型はあまり利用した事がないので良くは分かりませんが
上記のリンクより CString 型でも ワイド文字(Unicode)が扱えるみたいですね。
マルチバイトの文字列は必ずワイド文字(Unicode)に変換してから Save メソッドに
渡して下さい。
・以上。
前回に引き続きありがとうございます。
Cimageを使用してできるようになりました。ちょっと前進できました。
その方法で確認させていただきたいと思います。
最近、VC2005を本格的に始めたため、わからない事が多くて
かなりてんぱってます。
今も、picture box 内の再描画がうまくできなくて困ってます。
また、質問させていただく事がある(もしかすると明日?)かもしれませんが、その時はご指南いただけると幸いです。
よろしくお願いします。
No.3
- 回答日時:
★回答者 No.2 です。
・CString 型で上手く出来ないときは LPTSTR 型を使うのはどうですか。
LPTSTR lpFname = TEXT("1111.jpg");
SaveImage.Save( lpFname );
とします。
・これなら VC2005 の文字列のデフォルトが Unicode になるため lpFname には
ワイド文字としてセットされます。その lpFname を SaveImage.Save() に
渡せば出来ませんか?
・特に CString 型を使わなければいけないという条件がないのなら LPTSTR 型で
ソースを書き換えてみて下さい。
他にも
TCHAR szFname[ MAX_PATH ];
lstrcpy( szFname, TEXT("1111.jpg") );
SaveImage.Save( lpFname );
でも良いかも。
・参考に。
お世話になっております。
ご回答ありがとうございます。
CStringを使用する必要はありません。
CImage.loadのときにCStringを使用したためその流れで使用しました。
動作確認したいと思います。
本当にありがとうございました。
No.1
- 回答日時:
CString ss;
ssが使われていないですが、
SaveImage.Save(ss); ----(1)
のことですか。
>正常に保存できません
保存できないとは、(1)ファイルが作られない(2)ファイルは作られるが表示できない(3)作られる場所が違う(4)プログラムが異常終了する…等があると思いますが、どうでしょうか。
お世話になっております。
ご回答ありがとうございます。
申し訳ありません。ごちゃごちゃになってました。
SaveImage.Save(ss); ----(1)
が正解です。
症状は、ファイルは作られるが0KBのファイルになってしまいです。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 10:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/05/23 15:54
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Excel(エクセル) EXCELマクロでandroidタブレットから取りんだJPEGファイルをうまくセルに貼り付けられない 2 2022/07/31 15:03
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでIEの「ファイルのダウンロ...
-
Corel Digital Studioの動画をS...
-
印刷と保存の仕方をVBAマクロの...
-
【VC++】CDC→WMFファイルに保存...
-
webページの特定の部分だけ消し...
-
VBA 自動保存方法
-
エクセルで、csvのファイルにマ...
-
VBAでHTTP(又はFTP)を使う方...
-
タイトルバーやメニューバーの...
-
onedriveで同期解除をしたら、...
-
バッチファイルでファイル移動...
-
OneDriveアンインストール方法
-
マイクラでコマンド使いたいの...
-
qpopperのエラーのついて
-
excelのグラフをLaTexに挿入す...
-
MacBookAirのデータを外付けHDDに
-
TXTファイルを上書き保存する前...
-
Windows UPDateのサイトのIPア...
-
沢山のフォルダにあるファイル...
-
共有しているファイルを削除し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAについて
-
読み取り専用ファイルを上書き...
-
Excel VBAでほかのアプリケーシ...
-
Excel VBAで作成したマクロをxl...
-
VBAで、強制保存してブックを閉...
-
コマンドプロンプトでデスクト...
-
ExcelVBAでデスクトップのPATH...
-
VBScriptで日本語が変です
-
vbaでIEの名前を付けて保存(A)...
-
Corel Digital Studioの動画をS...
-
エクセルで「名前を付けて保存...
-
タイトルバーやメニューバーの...
-
CImageのファイル名を指定して保存
-
webページの特定の部分だけ消し...
-
Pivot table で集計されたデー...
-
VBA メモ帳の上書き保存がしたい
-
VB.NETでEXCELファイルを開き、...
-
EclipseでJavaScriptファイルの...
-
VBScriptでのSaveAsについて
-
エクセル:マクロ:保存時に連...
おすすめ情報