
ローカルに保存されている任意の画像を選択(input type=fileなどで)
すると、テキストボックスにその画像の縦横サイズを表示するといった
事をやりたいのですが、Javascriptで実現可能でしょうか?
img.src = "ファイルパス";
img.height;
img.width;
でサイズ取得は可能ですが、ファイルパスを直書きするのではなく、
あくまで、任意の画像を選択して取得したいです。
わかる方がいらっしゃいましたらご教授いただきたいと思います。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No.1の者です。
動作環境を書いておりませんでしたね… 失礼しました。
このスクリプトはInternet Explorer 7 or 8で動作します。
すべてのブラウザを試したわけではありませんが、ブラウザによってはファイル選択部品の動作がまちまちなので、動作しないかもしれません。
Firefox 3の場合は、ファイル選択フォームの戻り値がファイル名のみのため、うまく動きません。
テキスト入力フォームにして、ファイルパスを手入力すれば動作しますが…あんまり使い勝手がいいとはいえません。
下記はその例です。
<html>
<head>
<script language="JavaScript">
var img = new Image();
var d = 0;
function chkimg()
{
m = document.form.fname.value;
ms = "file:///" + m.replace(/\\/, "/");
img.src = ms;
setTimeout('show()',100);
d = 0;
}
function show()
{
if(img.width == 0){
d = d + 1;
if(d > 30){
alert(img.src + " :取得できませんでした…");
}else{
setTimeout('show()',100);
}
}else{
alert(img.src + "=" + img.width + "," + img.height);
}
}
</script>
</head>
<body>
<form name=form>
<input type=text name=fname><input type=button value="表示" onclick='chkimg()'>
</form>
</body>
</html>
もし、ブラウザなどの環境によらず正確な値を得たいのであれば、サーバ側で処理すべきだと思います。
No.1
- 回答日時:
こんにちは。
img.srcにinput type=fileで指定したファイルを設定して
実行させてはいかがでしょう。
<html>
<head>
<script language="JavaScript">
var img = new Image();
function chkimg()
{
img.src = document.form.fname.value;
setTimeout('show()',1000);
}
function show()
{
alert(document.form.fname.value + "=" + img.width + "," + img.height);
}
</script>
</head>
<body>
<form action="javascript:chkimg()" name=form>
<input type=file name=fname><input type=submit value="表示">
</form>
</body>
</html>
setTimeoutを使っているのは、JavaScriptを実行中は画像の取得が行われず、img.widthとimg.heightの値がセットされないため、一旦スクリプトを終了させる必要があるからです。
この回答への補足
MoguraSE様
的確でわかりやすい回答をありがとうございます!
ただ、教えていただいた通りでスクリプトは実行できたのですが、
取得値が幅、高さ共に0pxになってしまいます。
当方でも調べてみますが、こちらの解決もわかるようであれば
ご教授願いたいのですが・・・
厚かましくて申し訳ございませんが、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像処理 C言語 元画像の幅...
-
createElementが一瞬で消えてし...
-
文字をクリックしたら別の文字...
-
JSPでの画像ファイル表示
-
オブジェクトがありませんのエラー
-
jQueryの配列の渡し方について
-
ドラックアンドドロップ?
-
「jQuery」アコーディオンメニ...
-
折りたたみ式JavaScriptをcheck...
-
classの中の<a>タグにidを追加
-
2つのDIVを中央と右に横並びに...
-
javascrip 切り替えのやり方
-
lightbox2をiframeから外に表示...
-
チェックボックスの背景色って...
-
1枚の画像をクリックすると複数...
-
取得した要素がインライン要素...
-
Javascript初心者|jQueryの.va...
-
VBAでIEを動かす場合、下記の①...
-
jQueryで同じクラス名のものを...
-
imgのsrcに値を設定するには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScriptで変更した属性の元...
-
ダイアログから画像ファイルは...
-
MFCで画像を表示させているので...
-
imageクラスからiconクラスに変...
-
メニューボタン画像のロールオ...
-
xmlとロールオーバー(jQuery1....
-
外部javascriptの重複を防ぐには
-
libjpegライブラリの使い方につ...
-
複数の画像をフェードイン・ア...
-
返信記事付きログファイルの表示
-
jsでサムネイルを拡大表示 複...
-
画像が表示でnull; this.src
-
HTMLからimgのsrcのみを正規表...
-
条件分岐でキーが入力されてい...
-
OpenCVの実行エラー
-
$(this)を変数に入れないと動作...
-
テキストリンクにオンマウスで...
-
WEBに音を付けたい
-
複数画像のランダム複数表示(...
-
こんにちは、javascriptにてボ...
おすすめ情報