2012-02-01 4 views
1

Я использую FileReader для получения кода изображения base64. Если я использую холст и вставляю его в canvas base64. Чем применяется размер для холста. Я получаю новый код base64 нового изображения?Изменить размер изображения из base64

Образец образца.

reader.onloadend = function(event) { 
     var canvas = document.getElementById("temp_canvas"); 
     var context = canvas.getContext("2d"); 
     var imageObj = new Image(); 
     imageObj.onload = function() { 
      var ratio = (imageObj.width > imageObj.height)?Math.ceil(imageObj.width/imageObj.height):Math.ceil(imageObj.height/imageObj.width); 
      console.log(ratio); 
      if(imageObj.width > 512) { 
       imageObj.width = 512 
       imageObj.height = imageObj.width * ratio; 
      } 
      console.log(imageObj.width); 
      console.log(imageObj.height); 
      $(canvas).attr('width',imageObj.width); 
      $(canvas).attr('height',imageObj.height); 
      context.drawImage(imageObj,0,0,imageObj.width,imageObj.height); 
     } 
     imageObj.src = event.target.result; 
     $('.image-for-crop').attr('src',event.target.result); 
     $('#dialog-foto').dialog({modal:true}); 
    } 

Если я делаю var dataURL = canvas.toDataURL();

Мой главный вопрос: «В любое время, когда я меняю canvas: обрезаю, изменяю размер e.t.c. base64 код этого изменения холста?»

+0

Вы можете добавить дополнительную информацию? Я не уверен, что ваш вопрос – Undefined

+0

Base64 не является форматом изображения, это кодировка для двоичных данных. Кодировка в вашем base64 - это некоторый тип данных изображения; это может быть любой формат, например jpg, png, ... Это могут быть даже необработанные данные. –

+0

Я поместил дополнительную информацию о вопросе. –

ответ

1

Да, любое изменение, которое вы используете с помощью 2d context API появится в результате canvas.toDataURL(). Однако DOM операции, такие как изменение размера вашего холста < > (пример myCanvas.style.width = 100) не будут изменять его данные.

 Смежные вопросы

  • Нет связанных вопросов^_^