2016-11-25 10 views
1

ウェブページのスクロールに基づいてスライドショーを作成したいと考えています。Webdesign:PNG-Imageの幅の制限

私の問題は、画像の幅が78720x1015pxで、png形式であることです。 画像の幅は、横に並んだ41倍の1920pxの1つの画像で決まります。 - 画像が100%動いている(マージン:-100%)漫画のようで、映画の感情を生み出すはずです。

ただし、画像幅は1920px x 41pics = 78720pxになります。

これは莫大な幅ですが、ファイルサイズが私の意見ではそれほど大きくないのはわずか975kBです! - しかし、どういうわけかWebbrowserで画像をロードするのに非常に時間がかかり、画像はデスクトップ上のImageViewerのような品質ではありません。

質問1:このような大きな画像幅に対処するにはどうすればよいですか?限界は何ですか?

質問2:このような種類のスライドショーを作成するより良い方法はありますか? - スライド自体が見えないようにしてください。それは約40の写真に基づく映画のようなものでなければならない。

ありがとうございます!

答えて

1

PNGは非常にうまく圧縮されます。特に、限られた数の色しか使用できないような漫画の場合、PNGは非常によく圧縮されます。

ただし、メモリにロードすると、デバイスはすべてのピクセルデータをRAMにロードして表示する必要があります。それはあなたのケースではおよそ8000万画素で、圧縮されていないデータは約320Mbです。これは恐らくブラウザーが苦労していることでしょう。特に、marginを使用している場合は、イメージを完全に再描画する必要があるため、ブラウザを移動してください。

transformを使用すると、ハードウェアアクセラレーションを使用する必要があります。また、トランスフォームがページレイアウトに影響を与えないため、再描画の一部を避けることができます。

しかし、より良い解決方法は、個々の画像に分割することです。次の画像にコードをロードし、それをスクロールさせてから、スクロールしながらスクロールして、スクロールしてから画面を外して、比較的シームレスな表示にします。

+0

あなたの答えをありがとうございました!他の言葉で最後の点を説明できますか? - 私は – dramen

+0

あなたの答えをありがとう!しかし、あなたは別の言葉で最後の点を説明することができますか? - 正しく理解すれば、画像はスクロール中に別々にロードされるでしょうか? - しかし、速くスクロールしている間に同じ問題に再びつながるのではないでしょうか?それはまた、それぞれの画像を読み込む時間がかかりますか、間違っていますか? – dramen

+0

@dramen 1つの巨大な画像を使った擬似アニメーションの問題は、画像全体がデコードされ、メモリに保持されなければならないということです(生の画像として)。個々の画像を分割すると、各画像が必要に応じてデコードされ(必要でないときにメモリが解放されるため) – leonbloy

関連する問題