1

そこで、 Imgurのホームページを読み込んで、画像をフルサイズでプルして、自分のサイトのホームページに配置するWebサイトを構築しました。唯一の問題は、一部の画像が巨大で、サイズを変更する方法がわからないことです。CSS、Javascriptを使用する必要があるのか​​、それともPHPで使用できるのかわかりません。

参考までに、私はSimple HTMLDomScraperを使用しています

これが私のウェブサイトです:www.probablycats.com

これが私のPHPコードです:

$imgur = file_get_html('http://www.imgur.com');
foreach($imgur->find('div[class="post"]') as $images)
{
    $imagelink = 'http://www.imgur.com/gallery/'.$images->id;
    $imagepage = file_get_html($imagelink);
    foreach($imagepage->find('#image') as $image2)
    {
        echo "<div class=\"images\">$image2</div>";
    }

}

これが私のCSSコードです:

html
{
    background-color:#D0D0D0;
    max-width:100%;
}

.images
{
    padding:20px 20px;
    float:left;
}

したがって、明確にするために、一部の画像は巨大で、画面の幅を超えています。どのくらい正確にサイズを変更しますか?必要に応じてもっと説明することもできますが、誰かがこれを手伝ってくれるなら、本当にありがたいです。ありがとう!

4

2 に答える 2

2

簡単な方法はCSSを使用することです。

.images img
{
    max-width: 200px;
}

これにより、元の比率を維持しながら、画像が目的の最大サイズでレンダリングされます。 注:HTML幅属性を使用してサイズを変更しても、すべてのブラウザーで元の比率が維持されるわけではありませんが、画像のサイズは物理的に変更されません。ただし、Imgurのサーバーから画像を参照しているため、これが自分のサイトの帯域幅に影響を与えることはありません。

PHPでこれを行うには、画像をサーバーにロードし、gd2またはimagickを使用して画像のサイズを変更し、保存してから、サーバーに保存された画像を参照してページに表示する必要があります。これもImgurのT&Cに違反している可能性があります

于 2012-12-03T22:57:23.977 に答える
1

ここで幅を指定できます。

echo "<div class=\"images\" width=\"150px\">$image2</div>";

ただし、これでも画像全体が読み込まれ、技術的に縮小されることはありません。そのため、画像が巨大な場合でも、読み込みが遅くなります

于 2012-12-03T22:57:55.207 に答える