Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.05.2016, 12:29
Новичок на форуме
Отправить личное сообщение для slovnosvoboda Посмотреть профиль Найти все сообщения от slovnosvoboda
 
Регистрация: 24.11.2014
Сообщений: 3

Загрузка процесса при отрисовке изображения
Добрый день.
Есть следующий код:

/**
 * depth: 1 - monochrome
 *        4 - 4-bit grayscale
 *        8 - 8-bit grayscale
 *       16 - 16-bit colour
 *       32 - 32-bit colour
 **/
function drawArray(arr, depth) {
  var offset, height, data, image;

  function conv(size) {
    return String.fromCharCode(size&0xff, (size>>8)&0xff, (size>>16)&0xff, (size>>24)&0xff);
  }

  height = Math.ceil(Math.sqrt(arr.length * 8/depth));

  //BMP Header
  data  = 'BM';                          // ID field
  data += conv(offset + arr.length);     // BMP size
  data += conv(0);                       // unused
  data += conv(offset);                  // pixel data offset
  
  //DIB Header
  data += conv(40);                      // DIB header length
  data += conv(height);                  // image height
  data += conv(height);                  // image width
  data += String.fromCharCode(1, 0);     // colour panes
  data += String.fromCharCode(depth, 0); // bits per pixel
  data += conv(0);                       // compression method
  data += conv(arr.length);              // size of the raw data
  data += conv(2835);                    // horizontal print resolution
  data += conv(2835);                    // vertical print resolution
  data += conv(0);                       // colour palette, 0 == 2^n
  data += conv(0);                       // important colours
  
  //Grayscale tables for bit depths <= 8
  if (depth <= 8) {
    data += conv(0);
    
    for (var s = Math.floor(255/(Math.pow(2, depth)-1)), i = s; i < 256; i += s)  {
      data += conv(i + i*256 + i*65536);
    }
  }
  
  //Pixel data
  data += String.fromCharCode.apply(String, arr);
 
  //Image element
  image = document.createElement('img');

  image.src = 'data:image/bmp;base64,' + btoa(data);

  return image;
}

/*Usage example, visualize random numbers generated by Math.random */

setInterval(function(){	
document.getElementsByTagName('body')[0].innerHTML = '';	

for (var a= [], i = 0; i < 16256; i++) {
  a[i] = Math.floor(Math.random()*256);
}

document.body.appendChild(drawArray(a, 8));

}, 0);


При добавлении элемента img в setInterval грузится процесс. Как исправить?
Ответить с цитированием
  #2 (permalink)  
Старый 20.05.2016, 13:05
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

slovnosvoboda,
Ежели интервал 0 - вот все время и крутится создание нового массива и перерисовка img
Ответить с цитированием
  #3 (permalink)  
Старый 20.05.2016, 13:07
Новичок на форуме
Отправить личное сообщение для slovnosvoboda Посмотреть профиль Найти все сообщения от slovnosvoboda
 
Регистрация: 24.11.2014
Сообщений: 3

Сообщение от Dilettante_Pro Посмотреть сообщение
slovnosvoboda,
Ежели интервал 0 - вот все время и крутится создание нового массива и перерисовка img
Нужна минимальная задержка при перерисовке.
Ответить с цитированием
  #4 (permalink)  
Старый 20.05.2016, 13:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

slovnosvoboda,
А тогда чего вы хотите? Процесс идет с какой только может скоростью, ничем остальным ему некогда заниматься
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка изображения на сервер Apelcun77 AJAX и COMET 1 28.04.2014 09:06
Асинхронная загрузка изображения dummer jQuery 13 21.05.2010 05:18
Полная загрузка изображения Najche2zz Элементы интерфейса 1 18.08.2009 11:53
Завершение процесса воспроизведения видео при закрытии окна IE skif Общие вопросы Javascript 0 11.03.2009 08:11
как при добавлении изображения на сервер считывать имя в БД? solomusic Серверные языки и технологии 3 12.06.2008 23:28