2013-05-15 18 views
13

Próba utworzenia
Krok 1 - Pozwól użytkownikom przesyłać zdjęcia za pośrednictwem freemransform Ajax, Raphael i Raphael.Scalanie obrazów z Raphael svg

Krok 2 - Kliknij przycisk, aby wyświetlić jeden obraz z przesyłania zdjęć. (Pytanie): znalazłem podobnym stanowisku o konwersji Raphael svg 1 2 3,
więc używam Canvg zbyt ale dostać console.log: Resource interpreted as image but transferred with MIME type text/htmlerror: image "" not found.

Proszę mi pomóc znaleźć sposób rozwiązania. lub jakąkolwiek wskazówkę, jak osiągnąć ten sam cel (przekształcić kilka obrazów Raphaela svg z uploadu na jeden png/jpeg) w inny sposób?

Dzięki!

Krok 1

// upload images and ajax show in page 
var paper = Raphael($('.upload_img')[0], 400, 200); 
$('.upload_btn').click(function(){ 
    ... 
    $.ajax({ 
     type: "POST", 
     url: "index.php", 
     data: fd, 
     processData: false, 
     contentType: false, 
     success: function(html){ 
      var session = ..., file = ... type = ...; 
      function register(el) { 
       // toggle handle 
      }; 
      var img = new Image(); 
      img.onload = function(){ 
       var r_img = paper.image('img/product/tmp/'+session+'/'+file+type, 0, 0, 200, 200); 
       register(r_img); 
      }; 
      img.src = 'img/product/tmp/'+session+'/'+file+type; 
     } 
    }); 
}); 

Krok 2

// merge and show 
$('.merge_btn').click(function(){ 
    var upload_svg = $('.upload_img').html(); 
    canvg('canvas', upload_svg); 
    console.log('upload_svg'+upload_svg); //<svg height="200" version="1.1" width="400" xmlns="http://www.w3.org/2000/svg" style="overflow-x: hidden; overflow-y: hidden; position: relative; "><desc></desc><defs></defs><image x="0" y="0" width="200" height="216.91973969631235" preserveAspectRatio="none" href="img/product/tmp/bc4d26ceb620852db36074d351883539/6.jpeg"></image></svg> 
    // and get error 
}); 


// These code If toggle show Raphael freetransform svg handle, it is work convert several svg handle to one image. but still not found upload image to merge 
+2

Nie znam freecransformy Raphaela i Raphaela, ale błąd wygląda jak coś jest nie tak ** przed ** transformujesz. Wygląda na to, że nie może znaleźć obrazów, a więc nie transformować. Czy na pewno obrazy są zapisywane w odpowiednich katalogach? A może mógłbyś zrobić jsfiddle? –

Odpowiedz

1

Jeśli nie jestem pomylić canvg funkcja oczekuje, że drugi parametr być String zawierający ścieżkę do pliku obrazu. Jednak w kroku 2 kod robi:

var upload_svg = $('.upload_img').html(); // **** this does not return the image path 
    canvg('canvas', upload_svg); 

Proponuję spróbować coś takiego:

var upload_svg = $('.upload_img').attr('src'); 
    canvg('canvas', upload_svg); 

To wyjaśni błąd - Resource interpreted as image but transferred with MIME type text/html - oczekuje obraz ale odbiera pusty HTML. Reszta kodu wydaje się w porządku.

+0

Masz szczęście? –

Powiązane problemy