2011-01-27 18 views
1

画像の高さと幅をアップロードして元のサイズに表示する方法。画像をアップロードする画像の幅と高さを実際の画像サイズに合わせる

+0

「アップロードした画像」について詳しく説明できますか?私はなぜこれがサーバー側の機能のように見えるときにJavaScriptが再生するのか混乱しています。 –

+0

最初にBrad.Actually私はphotogalleryを作成して、私はサムネイルライトボックスopen.Soをクリックしたときに、これらの画像のサムネイルを作成するためのイメージをアップロードしたBrad.Actually私は元のアップロードされた画像に従ってライトボックスのサイズを変更する必要がありますそれは私が管理することはできません。 – sandip

+0

http://whataveyoutried.com/? – pduersteler

答えて

4

Brad氏によると(これはサーバー側の機能と思われる)、このPHPコードを使用できますが、まずアップロードされたファイルが実際にイメージであることを確認する必要があります。クライアントサイズの場合は

list($w, $h) = getimagesize($_FILES['yourUploadedFieldName']); 

// $w holds the numeric width 
// $h holds the numeric height 
1

は、次のように使用することができます。

;(function($){ 
    $.imageSize = function(imgUrl,callback){ 
     var img = $('<img>').attr('src',imgUrl).css('display','none').appendTo('body'); 
     img.load(function(){ 
      var call = callback || function(i,w,h){}; 
      call(imgUrl,$(this).width(),$(this).height()); 
     }); 
    }; 
})(jQuery); 

jQueryプラグイン)がロードされていますまで、あなたは画像サイズを取得することはできませんが、あなたはそれをロードする場合あなたはその情報にアクセスすることができます。例えばあなたが使用している場合は

$.imageSize('http://www.nasa.gov/images/content/511786main_image_1848_946-710.jpg',function(i,w,h){ 
    alert(i+'\r\n'+w+'x'+h); 
}); 
0

Prototype Javascript library

var img = new Element(
'img', { 
    src: 'image.jpg' 
} 
); 

img.observe(
'load', 
function(event) { 
    alert(
    Event.element(event).getWidth() + 
    'x' + 
    Event.element(event).getHeight() 
); 
} 
); 

$$('body').first().appendChild(img); 
img.remove(); 
0
imgタグには何の幅と高さの属性を持っていないし、CSSスタイルの幅と高さを定義していない場合、画像はその「自然」のサイズでレンダリングされます

それのための。あなたは、高さを指定し、imgタグが正しいサイズ以下はmypic表示されます

に画像を表示する幅いけない場合は、トリックを行う必要があります

0

のためにこれをチェックしてください。 JPGフルサイズ

<img src='mypic.jpg' > 

又はこの比で、幅200pxの高さで画像を表示する

<img src='mypic.jpg' width="200px" > 
関連する問題