mirror of
https://github.com/niklasvh/html2canvas.git
synced 2023-08-10 21:13:10 +03:00
Fix webkit-gradient() parsing
This commit is contained in:
parent
63fbe2cb79
commit
4b9371f0e5
@ -324,7 +324,7 @@
|
|||||||
if(bounds.width === 0 || bounds.height === 0) {
|
if(bounds.width === 0 || bounds.height === 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var canvas = document.createElement('canvas'),
|
var canvas = document.createElement('canvas'),
|
||||||
ctx = canvas.getContext('2d'),
|
ctx = canvas.getContext('2d'),
|
||||||
gradient, grad, i, len;
|
gradient, grad, i, len;
|
||||||
@ -378,7 +378,7 @@
|
|||||||
canvasRadial.width = canvasRadial.height = di;
|
canvasRadial.width = canvasRadial.height = di;
|
||||||
|
|
||||||
grad = ctxRadial.createRadialGradient(gradient.rx, gradient.ry, 0, gradient.rx, gradient.ry, ri);
|
grad = ctxRadial.createRadialGradient(gradient.rx, gradient.ry, 0, gradient.rx, gradient.ry, ri);
|
||||||
|
|
||||||
for (i = 0, len = gradient.colorStops.length; i < len; i+=1) {
|
for (i = 0, len = gradient.colorStops.length; i < len; i+=1) {
|
||||||
try {
|
try {
|
||||||
grad.addColorStop(gradient.colorStops[i].stop, gradient.colorStops[i].color);
|
grad.addColorStop(gradient.colorStops[i].stop, gradient.colorStops[i].color);
|
||||||
|
@ -818,9 +818,10 @@ _html2canvas.Parse = function (images, options) {
|
|||||||
function renderBackgroundImage(element, bounds, ctx) {
|
function renderBackgroundImage(element, bounds, ctx) {
|
||||||
var backgroundImage = getCSS(element, "backgroundImage"),
|
var backgroundImage = getCSS(element, "backgroundImage"),
|
||||||
backgroundImages = _html2canvas.Util.parseBackgroundImage(backgroundImage),
|
backgroundImages = _html2canvas.Util.parseBackgroundImage(backgroundImage),
|
||||||
image;
|
image,
|
||||||
|
imageIndex = backgroundImages.length;
|
||||||
|
|
||||||
for(var imageIndex = backgroundImages.length; imageIndex-- > 0;) {
|
while(imageIndex--) {
|
||||||
backgroundImage = backgroundImages[imageIndex];
|
backgroundImage = backgroundImages[imageIndex];
|
||||||
|
|
||||||
if (!backgroundImage.args || backgroundImage.args.length === 0) {
|
if (!backgroundImage.args || backgroundImage.args.length === 0) {
|
||||||
@ -829,7 +830,7 @@ _html2canvas.Parse = function (images, options) {
|
|||||||
|
|
||||||
var key = backgroundImage.method === 'url' ?
|
var key = backgroundImage.method === 'url' ?
|
||||||
backgroundImage.args[0] :
|
backgroundImage.args[0] :
|
||||||
backgroundImage.value + '/' + element.__html2canvas__id + '/' + imageIndex;
|
backgroundImage.value;
|
||||||
|
|
||||||
image = loadImage(key);
|
image = loadImage(key);
|
||||||
|
|
||||||
@ -837,7 +838,7 @@ _html2canvas.Parse = function (images, options) {
|
|||||||
if (image) {
|
if (image) {
|
||||||
renderBackgroundRepeating(element, bounds, ctx, image, imageIndex);
|
renderBackgroundRepeating(element, bounds, ctx, image, imageIndex);
|
||||||
} else {
|
} else {
|
||||||
h2clog("html2canvas: Error loading background:" + backgroundImage);
|
h2clog("html2canvas: Error loading background:", backgroundImage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -139,16 +139,15 @@ _html2canvas.Preload = function( options ) {
|
|||||||
src = background_image.args[0];
|
src = background_image.args[0];
|
||||||
methods.loadImage(src);
|
methods.loadImage(src);
|
||||||
|
|
||||||
} else if( background_image.method.match( /\-gradient$/ ) ) {
|
} else if( background_image.method.match( /\-?gradient$/ ) ) {
|
||||||
if(bounds === undefined) {
|
if(bounds === undefined) {
|
||||||
bounds = _html2canvas.Util.Bounds( el );
|
bounds = _html2canvas.Util.Bounds( el );
|
||||||
}
|
}
|
||||||
|
|
||||||
var key = background_image.value + '/' + el.__html2canvas__id + '/' + imageIndex;
|
|
||||||
img = _html2canvas.Generate.Gradient( background_image.value, bounds);
|
img = _html2canvas.Generate.Gradient( background_image.value, bounds);
|
||||||
|
|
||||||
if ( img !== undefined ){
|
if ( img !== undefined ){
|
||||||
images[ key ] = {
|
images[background_image.value] = {
|
||||||
img: img,
|
img: img,
|
||||||
succeeded: true
|
succeeded: true
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user