ネットの画像のURL指定で得た画像をゲーム内で使う。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
namari
記事: 111
登録日時: 12年前

ネットの画像のURL指定で得た画像をゲーム内で使う。

#1

投稿記事 by namari » 12年前

なんだか今までの自分のプログラミングスキルでは想像もつかないのですが、
ネット上にあるアドレスを(例えばhttp://dixq.net/forum/images/02.png でC言語何でも質問掲示板の画像アドレスのように)
ゲーム上で指定したら、その画像をネットからとってきて、ゲームファイルに意図した名前で保存することはできるのでしょうか。
そこまでできるのなら、以降ゲームで使う方法は簡単だと思うのですが・・・。

ちなみにやりたいことは、SNSのアイコンを主人公にすることです。
アドレス名はhttp://.../images/user/○○○100.png (最後の○○100はアカウント名+アイコンサイズ:30.50も用意してある)

現在、使えるものはC言語、DXライブラリです。できない場合、何を使えばできそうかも教えてくださると幸いです。

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: ネットの画像のURL指定で得た画像をゲーム内で使う。

#2

投稿記事 by h2so5 » 12年前

DXライブラリの通信関係の関数を使ってHTTPリクエストを送信すれば画像データをダウンロードすることは可能です。
SNSの規約上そういった使い方がOKかどうかは疑問ですが。

[追記]
DXライブラリだけだとDNS名前解決ができないので、結局WindowsのAPIを直接使うか他のライブラリを併用する必要がありそうですね。

[追記]
↓ 隠し関数で名前解決用のAPIは存在するようです。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: ネットの画像のURL指定で得た画像をゲーム内で使う。

#3

投稿記事 by みけCAT » 12年前

バージョン3.10aのDxLib.hにこんな関数がありました。

コード:

extern	int			GetHostIPbyName(				const TCHAR *HostName, IPDATA      *IPDataBuf ) ;										// DNSサーバーを使ってホスト名からIPアドレスを取得する( IPv4版 )
extern	int			GetHostIPbyName_IPv6(			const TCHAR *HostName, IPDATA_IPv6 *IPDataBuf ) ;										// DNSサーバーを使ってホスト名からIPアドレスを取得する( IPv6版 )
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: ネットの画像のURL指定で得た画像をゲーム内で使う。

#4

投稿記事 by みけCAT » 12年前

DXライブラリでHTTP通信をするには、
SetUseDXProtocol(FALSE);でDXライブラリのプロトコルを無効にしないといけません。
また、HTTPSへの対応は難しい/めんどくさいと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: ネットの画像のURL指定で得た画像をゲーム内で使う。

#5

投稿記事 by みけCAT » 12年前

でも、素直にwininetを使うのが簡単ではないでしょうか?
HTTPの勉強をしたいなら別ですが。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
namari
記事: 111
登録日時: 12年前

Re: ネットの画像のURL指定で得た画像をゲーム内で使う。

#6

投稿記事 by namari » 12年前

>h2so5さん
ありがとうございます。
リファレンスを見ても通信関係はほとんど他PCとつないで対戦するようなものという印象を受けました・・・。

>みけCATさん
winInetを使うというのは、DXライブラリのように、
winInet.dllを入れて、新たな関数群を得るという認識でいいんでしょうか。
いまいち理解が及んでいなくてすみません。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: ネットの画像のURL指定で得た画像をゲーム内で使う。

#7

投稿記事 by みけCAT » 12年前

wininet.dllはWindowsに最初から入っているはずです。
参考
http://www.sm.rim.or.jp/~shishido/httpt.html
[search=google]wininet[/search]
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
namari
記事: 111
登録日時: 12年前

Re: ネットの画像のURL指定で得た画像をゲーム内で使う。

#8

投稿記事 by namari » 12年前

>みけCATさん
まさにそれですね!
そこの関数名から調べて、なんとか完成にこぎつけることができました。
(というか、http://detail.chiebukuro.yahoo.co.jp/qa ... 2101389432
をほとんど使わせてもらいましたが・・・。)

ネットから情報を得るなんてこと出来ると思っていませんでしたが、
こんな方法でできるとは驚きです。

みなさん本当にありがとうございました。
特にみけCATさんは今回に限らずいつも本当に助かってます。感謝してもしつくせません。

閉鎖

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