Показать сообщение отдельно
  #28 (permalink)  
Старый 30.10.2012, 00:06
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

всем привет. Написал обертку для преобразования
a) image -> canvas
b) canvas -> canvas
Никакого сакрального смысла она не несет, просто чтобы не писать одно и тоже по многу раз. Например,
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://nepiu.narod.ru/links/jquery.to.canvas.js"></script>

<!-- будем надеяться, что это изображение в кеше :) -->
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="">​

<script>
    
    // to canvas 1:1
    $( 'img' ).toCanvas().appendTo( 'body' ).wrap( '<div>' );
    
    // zoom
    $( 'img' ).toCanvas({ width: 300, height: 68 }).appendTo( 'body' ).wrap( '<div>' );
    
    // crop
    $( 'img' ).toCanvas({ sw: 90, dw: 90 }).appendTo( 'body' ).wrap( '<div>' );
        
</script>

После того, как будут произведены все необходимые манипуляции с канвасом (ресайз и/или кроп), преобразую его в dataURL c помощью метода
var base64 = canvas.toDataURL( 'image/jpeg', 1 );

Можно ли это дело (base64) отправить на сервер в виде new FormData()? Т.е. сперва преобразовать, а затем отправить. Чтобы было так же просто, как и со встроенным объектом File?
var formData = new FormData();
formData.append( 'file', file );
xhr.send( formData );

Глупо звучит, но тем не менее
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 30.10.2012 в 00:09.
Ответить с цитированием