
ローカルに保存されている任意の画像を選択(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で質問しましょう!
似たような質問が見つかりました
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHP echo バックスラッシュの使い方 img要素 2 2023/01/08 22:46
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部javascriptの重複を防ぐには
-
javascriptでのパスについて
-
jqueryのスライドショー。html...
-
色の変更
-
JavaScriptの記述方法
-
OpenCVでの画像処理について
-
createElementによる空要素の生...
-
画像処理 C言語 元画像の幅...
-
openCVでの白黒画像読み込み
-
写真を順番にホームページ上に...
-
HTMLからimgのsrcのみを正規表...
-
Iplimageについて
-
jQueryで画像置換が上手くいき...
-
画像クリックで背景を変える
-
条件分岐でキーが入力されてい...
-
URlについて
-
jcarouselliteについてです。
-
マウスオーバーで画像の切替で...
-
テキストにマウスオーバーで画...
-
吹き出しに画像とコメントを入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLからimgのsrcのみを正規表...
-
複数画像のランダム複数表示(...
-
外部javascriptの重複を防ぐには
-
JavaScriptで変更した属性の元...
-
libjpegライブラリの使い方につ...
-
javaScriptでリンク画像のラン...
-
MFCで画像を表示させているので...
-
画像ファイルをアップロードす...
-
OpenCVで固定枠で画像を操作す...
-
外部ファイルにしたら文字化け...
-
複数の画像をフェードイン・ア...
-
OpenCV での画素値の比較について
-
pythonのpygameでキャラクター...
-
OpenCVでの画像処理について
-
"lightbox"の"CLOSE"ボタンクリ...
-
画像をフィルターを使って入れ...
-
openCVでの白黒画像読み込み
-
createElementによる空要素の生...
-
pythonで、tkinterとpillowの組...
-
jQueryで、画像クリック→フェー...
おすすめ情報