Прочитать данные файла изображения на клиенте и изменить его размер - PullRequest
0 голосов
/ 25 января 2012

У меня есть менеджер галереи и область размещения (для изображения галереи).Когда файлы упали.Я использую FileReader для чтения и получения данных base64 изображения.Моя цель - изменить размер всех изображений (сделать большой палец / нормальное изображение) на клиенте.Вопрос: Могу ли я поместить base64 в canvas, а затем изменить его размер и получить новый base64 измененного размера изображения?

1 Ответ

1 голос
/ 02 февраля 2012
$.getImageData({
  url: "http://farm4.static.flickr.com/3002/2758349058_ab6dc9cfdc_z.jpg?zz=1",
  success: function(image){

    // Set up the canvas
    var can = document.getElementsByTagName('canvas')[0];
    var ctx = can.getContext('2d');

    // Set the canvas width and heigh to the same as the image
    $(can).attr('width', image.width);
    $(can).attr('height', image.height);

    // Draw the image on to the canvas
    ctx.drawImage(image, 0, 0, image.width, image.height);

    // Get the image data
    var image_data = ctx.getImageData(0, 0,  image.width, image.height);
    var image_data_array = image_data.data;


    // Write the image data to the canvas
    ctx.putImageData(image_data, 0, 0);

  },
  error: function(xhr, text_status){
    // Handle your error here
  }
});
...