07-14-2018, 06:57 AM
Code:
Frank
Frank
Jacob_
Suggestion: instead of parsing a BMP file, just draw the image onto a canvas and read the pixel data from it. Then it will work with any file format. https://stackoverflow.com/questions/8751020/how-to-get-a-pixels-x-y-coordinate-color-from-an-image
1. Thanks for the bombshell. I think I will cry myself to sleep now.
2. I think my next version will
a. incorporate the above and
b. output a string that can be interpreted as OS data for cross-origin convenience.
I guess this is version 1.0!
function nearestInstrument(color) {
RGBColor = color.slice(0, 3).map(x => x * color[3] / 255);
var result;
var smallest = Infinity;
for (i = 0; i < settings.numInstruments; i++) {
var difference = 0;
for (j = 0; j < 3; j++) {
difference += (settings.instrumentColors[i][j] - RGBColor[j]) ** 2;
}
if (smallest > difference) {
smallest = difference;
result = i;
}
}
return result;
}
SequencerView.fastGraphics = true;
var canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
canvas.getContext('2d').drawImage(img, 0, 0, img.width, img.height);
var img = document.getElementById('sidebar').children[0].children[0].children[0];
var total = ':'
for (var h = img.height - 1; h > -1; h--) {
for (var w = 0; w < img.width; w++) {
total += [h, piano[w], 1, nearestInstrument(canvas.getContext('2d').getImageData(h, w, 1, 1).data)].join(' ') + ';';
}
}
$.each(audioSystem.instrumentVolume, x => audioSystem.setInstrumentVolume(x, 0))
canvas.getContext('2d').getImageData(h, w, 1, 1).data;
loadData(total);
[i]
Version 1.1, Version 1.0 was rushed cuz I need [i]sleep.[/i]
[/i]
Code:
function nearestInstrument(color) {
RGBColor = color.slice(0, 3).map(x => x * color[3] / 255);
var result;
var smallest = Infinity;
for (i = 0; i < settings.numInstruments; i++) {
var difference = 0;
for (j = 0; j < 3; j++) {
difference += (settings.instrumentColors[i][j] - RGBColor[j]) ** 2;
}
if (smallest > difference) {
smallest = difference;
result = i;
}
}
return result;
}
SequencerView.fastGraphics = true;
var canvas = document.createElement('canvas');
var img = document.getElementById('sidebar').children[0].children[0].children[0];
canvas.width = img.width;
canvas.height = img.height;
canvas.getContext('2d').drawImage(img, 0, 0, img.width, img.height);
var total = ':'
for (var h = img.height - 1; h > -1; h--) {
for (var w = 0; w < img.width; w++) {
total += [h, piano[w], 1, nearestInstrument(canvas.getContext('2d').getImageData(h, w, 1, 1).data)].join(' ') + ';';
}
}
loadData(total);
$.each(audioSystem.instrumentVolume, x => audioSystem.setInstrumentVolume(x, 0));
Kim Wrote:+ https://js-game.glitch.me + Doesnt take peopel serious if their has badly speling gramer puntuatin