縦横比を維持するために画像のサイズを取得使用と思ったのですが、
cvgetinfo img_h,CVOBJ_INFO_SIZEY,0としたところ、img_hの値が-1になってしまいました。
画像の形式が悪いのかと思い、BMPにしてもJPEGにしても同じ状況になります。
CVOBJ_INFO_SIZEXはきちんと取得できています。
使用環境はHSP 3.1β9で、WindowsXP Media Center Edition 2005です。
また、ソースは以下のとおりです。
何処かおかしい部分があれば指摘をお願いします。
#include "hspcv.as" //HSO CV初期化 cvreset //変数初期化 dim img_w dim img_h //ここでcvbufferを使ってみたが状況は変わらず //cvbuffer 0,100,100 //以下のimg変数は画像ファイル名。何か適当に探してください //画像の縦の大きさが400px以下の場合はリサイズが行われません。 //401px以上の画像ファイルにしてください。 img="Snap_0000.bmp" log="変換開始\n" screen 1,640,480 mesbox log,640,480,0,-1 cvload img,0 //画像の解像度取得 ココでYのほうが-1になる cvgetinfo img_w,CVOBJ_INFO_SIZEX,0 cvgetinfo img_h,CVOBJ_INFO_SIZEY,0 if img_w > 400 { //比率固定計算 n=1.0*400/img_w ny=int(double(img_h2)*n) screen 0,400,300,0 //リサイズ 表示 ログ記録 cvresize 400,ny,0,CV_INTER_AREA cvgetimg 0,0 log=log+"画像"+img+"("+img_w+"x"+img_h+")を400x"+ny+"として変換成功\n" gsel 1 objprm 0,log }else { //ログの記録 log=log+"画像"+img+"は縦解像度400px以下なのでスキップしました\n" objprm 0,log } objprm 0,log
もし無ければβ版と言うことで、バグの可能性が高いのでしょうか?