update glitch logic
This commit is contained in:
parent
93e8b4a124
commit
563a1fb05e
@ -18,7 +18,7 @@ define(
|
|||||||
var iterations;
|
var iterations;
|
||||||
var quality;
|
var quality;
|
||||||
var seed;
|
var seed;
|
||||||
var offset;
|
var amount;
|
||||||
var base64;
|
var base64;
|
||||||
var byte_array;
|
var byte_array;
|
||||||
var jpg_header_length;
|
var jpg_header_length;
|
||||||
@ -34,7 +34,7 @@ define(
|
|||||||
{
|
{
|
||||||
seed = input.seed / 100;
|
seed = input.seed / 100;
|
||||||
quality = input.quality / 100;
|
quality = input.quality / 100;
|
||||||
offset = input.offset / 100;
|
amount = input.amount / 100;
|
||||||
iterations = input.iterations;
|
iterations = input.iterations;
|
||||||
|
|
||||||
canvas_helper.resize( canvas, image_data );
|
canvas_helper.resize( canvas, image_data );
|
||||||
@ -46,7 +46,7 @@ define(
|
|||||||
|
|
||||||
for ( i = 0; i < iterations; i++ )
|
for ( i = 0; i < iterations; i++ )
|
||||||
{
|
{
|
||||||
glitchJpegBytes( byte_array, jpg_header_length, seed, offset, i );
|
glitchJpegBytes( byte_array, jpg_header_length, seed, amount, i, iterations );
|
||||||
}
|
}
|
||||||
|
|
||||||
img = new Image();
|
img = new Image();
|
||||||
@ -59,19 +59,23 @@ define(
|
|||||||
img.src = byteArrayToBase64( byte_array );
|
img.src = byteArrayToBase64( byte_array );
|
||||||
}
|
}
|
||||||
|
|
||||||
function glitchJpegBytes( byte_array, jpg_header_length, seed, offset, iteration )
|
function glitchJpegBytes( byte_array, jpg_header_length, seed, amount, i, len )
|
||||||
{
|
{
|
||||||
var it = ( iteration + 1 ) / 10;
|
|
||||||
var max_index = byte_array.length - jpg_header_length - 4;
|
var max_index = byte_array.length - jpg_header_length - 4;
|
||||||
var px_index = it * max_index + offset * 10;
|
var px_min = parseInt( max_index / len * i, 10 );
|
||||||
|
var px_max = parseInt( max_index / len * ( i + 1 ), 10 );
|
||||||
|
|
||||||
if ( px_index > max_index )
|
var delta = px_max - px_min;
|
||||||
|
var px_i = parseInt( px_min + delta * seed, 10 );
|
||||||
|
|
||||||
|
if ( px_i > max_index )
|
||||||
{
|
{
|
||||||
px_index = px_index;
|
px_i = max_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
var index = Math.floor( jpg_header_length + px_index );
|
var index = Math.floor( jpg_header_length + px_i );
|
||||||
byte_array[index] = Math.floor( seed * 256 );
|
|
||||||
|
byte_array[index] = Math.floor( amount * 256 );
|
||||||
}
|
}
|
||||||
|
|
||||||
function getBase64FromImageData( image_data, quality )
|
function getBase64FromImageData( image_data, quality )
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user