SORU
1 HAZİRAN 2009, PAZARTESİ


Görüntü verileri JavaScript mı?

Bazı görüntüler (sadece <img /> normal HTML etiketleri) ile normal bir HTML sayfası var. İçeriği, base64 tercihen, görüntü tekrar indirmeniz gerek kalmadan kodlanmış (örn. almak istiyorum zaten içerik istiyorum şimdi tarayıcısı) ile dolu.

Greasemonkey Firefox ile bunu başarmak isterim.

CEVAP
1 HAZİRAN 2009, PAZARTESİ


Doğru boyutlara sahip bir tuval öğesi oluşturun ve drawImage fonksiyonu ile görüntü verileri kopyalamak için ihtiyacınız olacak. toDataURL işlevi, bir veri almak için kullanabilirsiniz: base-64 olan url kodlanmış görüntü. Görüntü tam dolu olması gerektiğini unutmayın, ya da sadece geri (siyah, şeffaf boş bir görüntü elde edersiniz.

Bu gibi bir şey olurdu. Hiç bir Greasemonkey script yazdım, bu ortamda çalıştırılacak kodu ayarlamak gerekebilir.

function getBase64Image(img) {
    // Create an empty canvas element
    var canvas = document.createElement("canvas");
    canvas.width = img.width;
    canvas.height = img.height;

    // Copy the image contents to the canvas
    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0);

    // Get the data-URL formatted image
    // Firefox supports PNG and JPEG. You could check img.src to
    // guess the original format, but be aware the using "image/jpg"
    // will re-encode the image.
    var dataURL = canvas.toDataURL("image/png");

    return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
}

JPEG formatlı bir görüntü elde eski sürümleri (3.5) Firefox üzerinde işe yaramazsa, bunu desteklemek istiyorsanız, uyumluluğunu kontrol etmek gerekir. Eğer kodlama desteklenen değilse, varsayılan olacaktır "image/png".

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Apple

    Apple

    22 HAZİRAN 2005
  • TechBalance

    TechBalance

    12 HAZİRAN 2011
  • The Scary Snowman

    The Scary Sn

    1 ŞUBAT 2011