bir dinamik olarak oluşturulan görüntü için bir div arka plan görüntüsü özelliğini ayarlamak için nasıl

1 Cevap php

Bazı divs var ve her biri kendi arka plan görüntüsü vardır. Depolanmış olarak baz görüntüleri sadece siyah bir siluet.

Ne yapmak istiyorsunuz biraz rastgele bu görüntülerin rengini değiştirebilir ve değiştirilmiş rastgele renkli görüntüler divs arka plan görüntüleri olması için PHP GD paketini kullanmaktır.

Bunu yapmak için bir yolu, sadece, orijinal dosyalardan GD görüntüleri yapılarını oluşturmak, onları değiştirmek, bir geçici dosya olarak sonuçları kaydetmek, istemci içine bu dosya geçmek, ve sonra olmak üzere divs css arka plan görüntüsü özelliklerini değiştirmek için jquery kullanmak olduğunu Yeni dosya. Ama bu toplamak çöp etrafında döşeme dosyaları bir çok terk edecek.

Dosyaların bir sürü oluşturma olmadan bunu yapmak için bazı yolu var mı?

1 Cevap

Sadece "biraz rasgele" ise, o zaman siz de sadece kullanmak istediğiniz tüm varyasyonlarını önceden oluşturabilir. On-the-fly görüntüleri oluşturmak zorunda CPU / bellek yükü hızlı bir şekilde önceden inşa sürdü zaman aşacaktır.

Eğer gerçekten statik versiyonları etrafında oturan var istemiyorsanız, sadece image???() aramaları kullanmak ve çıkış için bir dosya adı belirtmek yok. Bu doğrudan müşteriye tamamlanmış resim göndermek, böylece sadece bir css kuralı belirlemek olabilir:

div.randombg {
    background-image: url(/randomimage.php);
}

Ve komut aşağı kaynatın olacaktır:

<?php

...  GD stuff to build image here ...
header("Content-type: image/jpeg");
imagejpg($gdhandle);
exit();

Eğer arka plan kullanıcı başına görece sabit kalmak isterseniz, müşteri daha önce inşa görüntüyü yeniden kullanmak, böylece "modifiye değil" başlıklarını göndermek için görüntü üreten komut söylemek için bir çerez / oturumda bir bayrak ve olabilir Her vurmak için değiştirmek için zorlamayın.