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

  • Artorius FullPower

    Artorius Ful

    29 Temmuz 2007
  • ODN

    ODN

    26 Kasım 2006
  • sonia989

    sonia989

    26 EKİM 2006