2017-04-25 27 views
-1

私は、ユーザーがプロフィール画像として機能する画像をアップロードできるページがあります。インポートした画像を画像ボックスに拡大縮小html

$data = mysqli_fetch_assoc; 
$image = $data['image']; 

と唯一の問題は、実際にはないいくつかの写真は「広場・イン・サイズ」に見えるということです

<img src = "./imgs/<?php echo $image; ?>" style = "height:200px; width:200px;> 

HTML:私はPHPとHTMLでこのコードを使用して、それをインポートイメージボックスに大きく伸びています。画像ボックスに画像の元の「向き」を表示させるにはどうすればいいですか?たとえば、5x10画像(100px x 200px)を表示する場合、自動的に10x10の向きに伸ばすことはできませんか?

答えて

0

を計算されますあなたは、インラインスタイルを使用しましたイメージの高さと幅を明示的に200ピクセルに設定します。

ブラウザに自動的に高さを計算させ、幅を200pxに設定することをお勧めします(これにより、高さはautoになります)。

あなたがイメージをつぶし/ストレッチなしで正方形の画像を維持したい場合は、背景画像、このようなもので、コンテナを使用する必要があります。

HTML:

<div class="profile-image"></div> 

CSS:

.profile-image { 
    background-image: url('image/url/image.png'); 
    background-size: cover; 
    background-position: center; 
} 

もちろん、イメージ間の標準化を確実にするには、たとえば、最大幅、高さ、またはアスペクト比をユーザーがアップロードします。

0

あなたは画像のサイズを指定する必要はありませんので、あなたはすべての画像は、すべての幅を取るしたい場合は、あなただけのwidth: 100%を適用することができますし、heightを指定してはいけない、それが自動に

0

「方向」という用語を間違って使用しています。オリエンテーションは、画像が「風景」(x値はy値より大きい)、「ポートレート」(x値より大きいy値)または正方形(両方の軸が同じサイズ)です。

あなたが探しているものは、画像のコンテナです(常に正方形(1:1))。内側の画像は伸びません。

イメージをbackground-imageとしてCSSを適用し、background-size: coverとすることで、このような動作を実現できます。これにより、コンテナ内の画像が収まり、余分なピクセルがいずれかの側から切り取られます。

HTML例:

<div class="container"></div> 

CSS:

.container { 
    width: 250px; 
    height: 250px; 
    background-image: url('/path-to-image/image.png'); 
    background-size: cover; 
} 

あなたは<style>要素内にインラインでインポートした場合、CSSはPHPコードを形成し、その方法$image変数を使用することができます

<?php 
    $image = $data['image']; 
?> 
<style> 
    .container { 
    width: 250px; 
    height: 250px; 
    background-image: url('<?= $image ?>'); 
    background-size: cover; 
    } 
</style> 
関連する問題