Увеличить размер изображение в 2 раза

У меня не получается, адекватно увеличить размер картинки. Пробую технологию WebAssembly. Есть байтовый массив исходного изображения, например [1,2,3,4], и в новый участок памяти я записываю байты [1,1,2,2,3,3,4,4], по идеи изображение после того как мы новый массив новых байтов присвоим Canvas'у, то изображение будет вдвое больше исходного. Вот метод копирование байтов:

export function ZoomTest(width: i32, height:i32): void {
    let offset = width * height * BYTE_PER_IMAGE;

    for(let i = 0;i < offset - 2; i++){
        for(let j = i; j < i + 2; j++){
            store<u32>(offset + j * BYTE_PER_IMAGE, load<u32>( i* BYTE_PER_IMAGE));// сохраняем байты в память [1,2,3,4(исх. изображение), 1,1,2,2,3,3,4,4(новый участок памяти)], 
            //store первый параметр это индекс в памяти, второй параметр индекс байта в памяти
        }
    }
}

Если кто делал, подобное или знает как это сделать, буду благодарен за помощь. На данный момент вот ссылка на сайт где это пытаюсь сделать https://assemblyweb.herokuapp.com/ Там нужно загрузить картинки и нажать кнопку Image ZOOM 2x


Ответы (0 шт):