Показать сообщение отдельно
  #5 (permalink)  
Старый 29.05.2015, 17:09
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сообщение от laimas Посмотреть сообщение
FileReader API, как получить и манипулировать данными в сети подробно и неоднократно описаны.
Разобрался на свежую голову))
var ints = new Int32Array(dataView.byteLength);

Этот код просто создает пустой типизированный массив с таким же количеством байтов, как и у файла. Т.е. все данные в нём состоят из сплошных нулей, поэтому картинка и не открывалась. Да и вообще нужно было использовать не Int32Array, а Int8Array.
Решением было в цикле занести все данные из DataView в пустой типизированный массив.
for (var i = 0; i < ints.length; i++) {
ints[i] = dataView.getInt8(i);
}

Теперь картинка открывается. Однако как вырезать данные из этого массива я так и не разобрался.
Сообщение от laimas Посмотреть сообщение
Ну просто, ради спортивного интереса, что можно определенного убрать в изображении таким образом? Ну к примеру, можно IPTC, что еще? И даже эта операция потребует изучение заголовка, и сперва получение по нему информации в нем, а уж потом...
Я же писал, что картинку я для примера взял, чтобы сразу видеть результат. На самом деле я хочу вырезать данные из mp3 файла - сделать нарезчик.
Ответить с цитированием