Ich habe ein Polymerelement mit einem Tag img
erstellt. Ich benutze eine Javascript-Bibliothek (Vibrant.js), die im Wesentlichen die dominante Farbe aus dem Bild aufnimmt und den Farbcode ausgibt. Ich versuche, das Bildelement in attached
Ereignis des Polymers auszuwählen. Aber irgendwie wird das Bildelement nicht richtig ausgewählt.Auswählen eines img-Elements auf der Polymerelementlast
Ich bekomme die folgende Ausnahme.
Vibrant.min.js:1 Uncaught IndexSizeError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The source width is 0.
<dom-module id="my-image-block">
<template>
<div class="service-wrapper">
<div><img id="imgobject" src={{imagepath}}></div>
<div class="service-wrapper-inner">
<div>
<p class="group-title">Stencil
<p> <!--TODO : Remove hard coding-->
<div class="title">
<p>Some content</p></div>
<p class="last-modified">Last updated: {{lastmodified}}</p>
</div>
<div class="description">
<p>{{description}}</p>
</div>
</div>
</div>
</template>
<script>
Polymer({
is: "my-image-block",
attached: function() {
var self = this;
var imageobject = self.$.imgobject;
var vibrant = new Vibrant(imageobject, 64, 6);
var swatches = vibrant.swatches();
var backColor = swatches["Vibrant"].getHex()
$(".service-wrapper-inner").css("background-color", backColor);
}
});
</script>
das Problem ist nicht mit Polymer. Wenn Sie 'imageobject' auf der Konsole loggen, sollten Sie ein gültiges Objekt sehen können – a1626