1

私はそれを取得しようとしています。誰かがページに設定された金額を寄付するたびに、画像の別の等しい部分が表示されます。私は他のロジックのほとんどをダウンさせました(PayPalは素敵なユニークな「寄付した」識別子などを提供します)が、画像を少しずつ表示するのに問題があります。

画像を小さなチャンクに分割してみましたが(画像が完全に表示されるまで、少なくとも250の寄付が必要です)、複数のフォーマット画像があるため、うまくいきません。より良い方法はありますか(たとえば、PHP画像処理またはおそらくCSS / Javascript)?

4

3 に答える 3

3

支払いレベルごとに 1 つずつ、251 の静止画像を作成し、現在までに受け取った資金の割合に基づいて、正しい静止画像を動的に提供してみませんか。

これが最も簡単な方法のようです。必要なコードは、支払いレベルを照会し、関連する画像をクライアントに送信することだけです。

したがって、image0.jpg(空)、image1.jpg(1 つのセグメント) などimage2.jpgimage250.jpg(すべてのセグメント) まで用意し、Web アプリケーションが正しいセグメントを提供するようにします。

Web サイトのパブリック エリアでこれらの画像にアクセスできないようにする必要があります。これにより、人々が URL を突き止めて「貴重な」ものを盗むことができなくなります。

したがって、Web アプリケーションは のリクエストを受信し、images/image.jpgどの画像を送信するかを問い合わせ、実際の画像からのデータ ストリームを次のように応答します。

if actual > desired:
    number = 250
else:
    number = int (actual * 250 / desired)
imagename = "image" + str(number) + ".jpg"
于 2009-07-14T06:26:54.710 に答える
0

最も簡単な方法は、Google ChartsまたはPayPalの画像を使用して、それらをWebサイトに適合させることができるかどうかを確認することです。それ以外の場合は、画像を動的に生成するか、静的に生成する必要があります。画像はそれほど多くないので、静的に生成することもできます。

これは多くのツールで実行できますが、ImageMagickがおそらく最も用途が広いでしょう。自分の画像を使用したい場合は、ImageMagickでそれを行う方法を次に示します。

# take your source image, and make it a known size.
#In this case, I'll make my image a 256 px square
convert flower.jpg -resize 256x256^ -gravity center -extent 256x256 flower_256.jpg
# run this command in a bash shell to generate the images
for i in $(seq -w 0 256); 
do 
   convert flower_256.jpg -gravity west -background blue -crop ${i}x256+0+0 -extent 256x256 flower_seq_$i.jpg
done

これで、次のような256枚の画像が作成されます。

25%
(ソース:theeggeadventure.com(ソース:theeggeadventure.com(ソース:theeggeadventure.com(ソース:theeggeadventure.com
50%

75%

100%

もちろん、必要に応じてジオメトリや色を調整できます。

于 2009-07-14T06:04:31.900 に答える
0

<div>オーバーフローをに設定して、画像をの中に隠すことができますhidden。次に、より多くの寄付を受け取るにつれて、div要素を高くすることができます。

<div id="imageContainer">
   <img src="secretImg.jpg"/>
</div>

CSS:

#imageContainer {
   height: 20px;
   overflow: hidden;
}
于 2009-07-14T06:05:32.210 に答える