HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0710
スペース画像の縦横サイズを取得したい4解決


スペース

リンク

2015/7/10(Fri) 16:58:45|NO.70017

画像の縦横サイズを取得するだけなら、picloadの第二パラを0にし画像を読み込み、ginfo_winxとginfo_winyで取得できますが、

現在作っているプログラムは画像を表示する必要はないため、
縦横サイズを取得する為だけに読み込むとなると、非常に無駄が多くなってしまいます。
existでファイルサイズを取得できるように、縦横サイズだけを取得する方法はないのでしょうか?



この記事に返信する


kanamaru

リンク

2015/7/10(Fri) 17:21:10|NO.70018

画像形式ごとに違います。
要はヘッダから取得するので



スペース

リンク

2015/7/10(Fri) 17:30:17|NO.70019

>>kanamaruさん
つまりbloadでロードするサイズを指定して、読み込んだデータを解析すればいいのでしょうか?



kanamaru

リンク

2015/7/10(Fri) 18:04:22|NO.70020

はい。
他には、GDI+とかを使う方法もありますが、
環境依存するのかもしれないので。
ネットで調べれば結構フォーマット分析によって画像サイズを取得するサンプルが
ゴロゴロしてます。



スペース

リンク

2015/7/10(Fri) 19:20:43|NO.70022


sdim data,216 bload "",data,216,0//jpegのみ読み込み 縦="" repeat if lpeek(data,cnt)=$1100C0FF:縦=strf("%02X", peek(data,cnt+5))+strf("%02X", peek(data,cnt+6)):横=strf("%02X", peek(data,cnt+7))+strf("%02X", peek(data,cnt+8)):break loop title ""+int("$"+横)+"x"+int("$"+縦)+""

とりあえず出来ました。
肝心の縦横サイズを取り出す方法は改善の余地あり。
wpeekで読み込むと前後が逆になるのはなんでだろう・・・

kanamaruさん、回答ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.