画像ファイルの属性 – プログラミング – Home

通知
すべてクリア

画像ファイルの属性

固定ページ 1 / 2

ひでまろ
 ひでまろ
(@ひでまろ)
ゲスト
結合: 24年前
投稿: 12
Topic starter  

ファイルを開くダイアログは使用せずに画像ファイルを直接参照し
画像ファイル(.TIF,.BMP)の幅、高さ、解像度を取得したいのですが
どのようにすればよいでしょうか?


引用解決済
トピックタグ
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
 

GDI+を使えば簡単です。
Imageオブジェクトのコンストラクタにファイル名を指定して、
Imageクラスのメンバ関数のGetWidth()やGetHeight()で得られます。
解像度はGetPixelFormat()だったかな?
GDI+で検索してサンプルを参照して下さい。
全部英語ですけどね・・・


返信引用
ひでまろ
 ひでまろ
(@ひでまろ)
ゲスト
結合: 24年前
投稿: 12
Topic starter  

すいません。 
使用言語はVC++ 6.0 です。
GDI+ってVC++ 6.0でも使用可能なのでしょうか?


返信引用
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
 

可能です。
サンプルみましょう。


返信引用
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
 

おっと、忘れてました。
OSはWinXPか2000です。98はごめんなさい。


返信引用
ひでまろ
 ひでまろ
(@ひでまろ)
ゲスト
結合: 24年前
投稿: 12
Topic starter  

Win2000です。(^^)
CBitmapクラスを使うことになりますかね・・・・
ファイルは、TIFなんですけど解像度等は問題ないですよね?


返信引用
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
 

Win2000ならGDI+はOKですね。
Imageクラスの引数はファイル名で、CBitmapクラスは必要ありません。
あと、TIFFはサポートされております。
解像度もOKなはず。

・・・もしかしたらPlatformSDKからダウンロードする必要があるかもしれませんが、
とりあえずサンプル(GDI+、Imageをキーワードにして検索)見ましょう。
わかってしまうととても便利ですよ。
アンチエリアスなんかも簡単にかけられるし、透明度も指定できますし。


返信引用
ひでまろ
 ひでまろ
(@ひでまろ)
ゲスト
結合: 24年前
投稿: 12
Topic starter  

サンプルが見れません・・・・
MSDNのCDがここにないのです・・・・


返信引用
euro2004
 euro2004
(@euro2004)
ゲスト
結合: 23年前
投稿: 37
 

MSDNライブラリはwebでも見れます。

googleで「GDI+」で検索かけました(全言語)。
(↓↓なぜか途中で改行されてるのでうまくアドレスのところにコピペしてください。)

http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/gdicpp/GDIPlus/GDIPlus.asp

あと、他の掲示板ですが・・・
http://forums.belution.com/ja/vc/000/115/55.shtml


返信引用
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
 

補足です。

まず、GDI+はGDIPLUS.LIBとGDIPLUS.Hが必要です。
もしたいのでしたら、euro2004さんが書いてくれたMSDNからダウンロードしましょう。
もちろん無料です。
あとはサンプルを参考にして下さい、といいたいのですが、一応ヒントを。
まず、GDI+を使うための初期処理として、

GdiplusStartupInput gdiSI;
ULONG_PTR gdiToken;

GdiplusStartup(&gdiToken, &gdiSI, NULL);

とする必要があります。
あと普通は、


返信引用
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
 

補足です。

まず、GDI+はGDIPLUS.LIBとGDIPLUS.Hが必要です。
もしたいのでしたら、euro2004さんが書いてくれたMSDNからダウンロードしましょう。
もちろん無料です。
あとはサンプルを参考にして下さい、といいたいのですが、一応ヒントを。
まず、GDI+を使うための初期処理として、

GdiplusStartupInput gdiSI;
ULONG_PTR gdiToken;

GdiplusStartup(&gdiToken, &gdiSI, NULL);

とする必要があります。
あと普通は、


返信引用
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
 

補足です。

まず、GDI+はGDIPLUS.LIBとGDIPLUS.Hが必要です。
もしたいのでしたら、euro2004さんが書いてくれたMSDNからダウンロードしましょう。
もちろん無料です。
あとはサンプルを参考にして下さい、といいたいのですが、一応ヒントを。
まず、GDI+を使うための初期処理として、

GdiplusStartupInput gdiSI;
ULONG_PTR gdiToken;

GdiplusStartup(&gdiToken, &gdiSI, NULL);

とする必要があります。
あと普通は、


返信引用
SunPac
 SunPac
(@SunPac)
ゲスト
結合: 22年前
投稿: 105
 

すみません。マルチポストしちゃいました。

普通は
using namespace Gdiplus;
とします。

ああ、スペース連打でマルチポスト・・・

ごめんなさい。


返信引用
ひでまろ
 ひでまろ
(@ひでまろ)
ゲスト
結合: 24年前
投稿: 12
Topic starter  

GDI+はGDIPLUS.LIBとGDIPLUS.HとGDIPLUSは、入手できました。
コンパイルをかけると
GdiplusInit.h(32) : error C2065: 'ULONG_PTR' : 定義されていない識別子です。
と出ます。
やはり、PlatformSDKのCORE SDK をダウンロードしなければならないので
しょうか?


返信引用
ひでまろ
 ひでまろ
(@ひでまろ)
ゲスト
結合: 24年前
投稿: 12
Topic starter  

PlatformSDKのCORE SDK のダウンロードが上手くいきません・・・
高速回線の場所に移動するしかないみたいです。


返信引用
固定ページ 1 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました