Skip to content

Instantly share code, notes, and snippets.

@DTrejo
Created November 9, 2010 20:33
Show Gist options
  • Save DTrejo/669753 to your computer and use it in GitHub Desktop.
Save DTrejo/669753 to your computer and use it in GitHub Desktop.
hist.rvals is undefined the first time you run it. The second time you run it, when you click the link, it works just fine :|
<html>
<head>
<title>ERR</title>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="pixastic/pixastic.core.js"></script>
<script type="text/javascript" src="pixastic/actions/colorhistogram.js"></script>
<style type="text/css" media="screen">
#testImage {width:auto;height:auto;}
</style>
</head>
<body>
<p>Open your console, check out how rvals is undefined. Then try <a href="javascript:horror()">clicking here</a> and see that it is not null.</p>
<!-- <img id="testImage" src="../images/test.jpg"> -->
<img id="testImage" src="data:image/png;base64,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">
<script type="text/javascript">
function horror() {
var img = $('#testImage').get(0);
var hist = {};
Pixastic.process(img, 'colorhistogram', { 'paint': true, 'returnValue': hist }); // remember, single threaded
console.log('hist: ', hist);
console.log('hist.rvals: ', hist.rvals);
console.log('---');
}
$(document).ready(function(){
// $('#testimage').bind('error', function() {console.log('error:',arguments)}); // in case there's an error.
// $('#testImage').ready(horror);
$('#testImage').load(horror); // if you comment out the above line, and try to use this one, then it never runs :|
});
// console output:
// hist: Object
// hist.rvals: undefined
// ---
// just clicked the link:
// hist: Object
// hist.rvals: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 6, 2, 1, 5, 2, 4, 6, 0, 3, 6, 12, 15, 13, 18, 6, 10, 19, 16, 30, 22, 27, 17, 20, 19, 25, 11, 21, 17, 18, 25, 14, 22, 15, 8, 13, 14, 22, 16, 16, 19, 15, 12, 13, 11, 7, 6, 6, 13, 14, 7, 4, 4, 7, 3, 5, 2, 1, 7, 4, 3, 4, 3, 7, 6, 2, 6, 7, 8, 6, 2, 5, 4, 8, 5, 2, 6, 4, 8, 9, 4, 4, 7, 3, 7, 3, 6, 6, 3, 6, 3, 5, 8, 6, 5, 4, 6, 4, 5, 4, 9, 4, 10, 5, 4, 3, 3, 4, 6, 9, 5, 5, 6, 3, 9, 6, 3, 2, 4, 5, 7, 8, 5, 6, 6, 5, 3, 8, 8, 10, 21, 12, 5, 6, 10, 2, 7, 14, 7, 4, 0, 2, 3, 3, 10, 1, 4, 7, 4, 8, 6, 14, 4, 5, 5, 3, 3, 4, 9, 2, 5, 3, 6, 9, 4, 4, 3, 7, 3, 3, 9, 6, 5, 6, 11, 7, 6, 4, 6, 6, 13, 20, 14, 17, 30, 30, 24, 21, 7, 18, 36, 32, 34, 34, 27, 20, 28, 32, 38, 15, 39, 43, 24, 17, 43, 33, 13, 40, 31, 15, 20, 37, 51, 30, 28, 23, 14, 8, 17, 34, 31, 43, 33, 33, 20, 22, 22, 43, 21, 15, 9, 31, 36, 40, 28, 55, 25, 667]
// ---
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment