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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0713
きのよーimgloadが使えない6解決


きのよー

リンク

2014/7/13(Sun) 01:36:44|NO.62858

プログラムでgmode7を使おうとして、とある方のモジュールを使わせていただいたのですが、
そのうち「imgload」の時に画像が読み込めなくなっていることに気が付きました。
mod_img.asによるimgloadでも同様に、png画像やjpg画像が読み込めなくなっています。
何か仕様か何かが変わったのでしょうか?
誰か情報を持っていたら教えていただきたいです。

OS:Windows7 HomeEdition
IE:11.0.9600以下略
HSP:3.32b

どのようにImgCtxを検証するかわからないので、非常に困っています。
よろしくお願いします。



この記事に返信する


Tetr@pod

リンク

2014/7/13(Sun) 02:06:39|NO.62859




ZAP

リンク

2014/7/13(Sun) 11:00:50|NO.62863

IEのバージョンに依存する問題のようなので、
今後のことを考えたら別の方法を模索した方がよいでしょう。



きのよー

リンク

2014/7/13(Sun) 13:09:52|NO.62865

皆様、素早い回答ありがとうございます。

>Tetr@pod様
確かに、imgloadがIE9から使えなくなっているみたいですね。
IE11でGPUレンダリングをOFFにしてみても、imgloadで画像は読み込めませんでした。
非常に的確な情報をありがとうございます。

>ZAP様
幸い、HSP3.3からpicloadでPNG画像が読み込めるようになったので(上の記事から考えるとGDI+?)
それを代わりに使用してなんとか目標は達成出来ました。ありがとうございます。

2ch(?)の方にもImgCtxがIE9から使えなくなっているような記事が書かれていて、
picload2とかいう命令を使われている方もいたようです。
現在はpicloadで読み込むことができるので大丈夫なのですが、
これからは気をつけていきたいと思います。



チャーくん

リンク

2014/7/31(Thu) 20:42:09|NO.63243

(Windows7にHomeEditioonはないよ Home Premiumじゃない?)



mkdoie

リンク

2014/8/1(Fri) 00:57:37|NO.63258

Windows8.1+IE11の環境ではmod_img.asの内容を少し変更しただけで動きました。
でも、上でも言われてますが今更imgloadを使う理由もないですね。

#ifndef __mod_img__ #define __mod_img__ #module "mod_imgctx" #define IID_IImgCtx "{3050f3d7-98b5-11cf-bb82-00aa00bdce0b}" #define CLSID_IImgCtx "{3050f3d6-98b5-11cf-bb82-00aa00bdce0b}" #usecom ImgCtx IID_IImgCtx CLSID_IImgCtx #comfunc IImgCtx_Load 3 wstr,int #comfunc IImgCtx_GetStateInfo 8 var,var,int #comfunc IImgCtx_Draw 10 int,var #comfunc IImgCtx_StretchBlt 12 int,int,int,int,int,int,int,int,int,int #deffunc imgload str _p1 ; ; ImgCtxを利用して画像ファイルを読み込みます ; imgload "ファイル名" ; (BMP,JPEG,GIF,ICO,PNGフォーマットを読み込み可能) ; fname=_p1 fpath=getpath( fname,32 ) if fpath="" : fname = dir_cur + "\\" + fname ; newcom pImage,ImgCtx IImgCtx_Load pImage,fname,0 dim size,4 repeat IImgCtx_GetStateInfo pImage,flg,size,1 if ( flg & 0x00200000 )==0 : break wait 4 loop IImgCtx_GetStateInfo pImage,flg,size,0 rect=0,0,size(0),size(1) IImgCtx_Draw pImage,hdc,rect redraw 1 delcom pImage return #global #endif



きのよー

リンク

2014/8/1(Fri) 20:22:17|NO.63291

解決後も返信ありがとうございます。

チャーくん様
>>(Windows7にHomeEditioonはないよ Home Premiumじゃない?)
確かに仰るとおりでした。
初めて使ったPCが「Windows Millennium Edition」だったり
次に使ったPCが「WindowsXP Home Edition」だったりして
混同していました。ややこしいので統一して欲しいですね……。

mkdoie様
>>Windows8.1+IE11の環境ではmod_img.asの内容を少し変更しただけで動きました。
サンプルを保存して実行したところ、こちらの環境でも正しく描画されました。
描画命令が変わっているだけ、ということなのでしょうかね……?
もしくは、関数が機能的に統合され使われなくなったのか。
何しろ、現行のDLLでも描画ができなくはないのですね。とても貴重な情報をありがとうございます。
しかし、やはりpicloadで読み込んだほうが楽といえば楽なんですよね……、無駄に依存しないので……。



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