Jump to content

Upload picture with JS and show it on phaser


odelia
 Share

Recommended Posts

I'm uploading an Image with JS. 
When I send that data to the phaser code I sometimes don't see it. It does receive the data but don't show it... 

function(BitmapData) {
        var data = new Image();
        data.src = BitmapData;
        this.game.cache.addImage("image-data", BitmapData, data);
        
        this.userPic = this.game.add.sprite(10, 10, 'image-data');
        console.log("loadUploadedImg",BitmapData,this.userPic);
}

 Even when I try to load the same image, so it's not the image it self... 

Does anyone know what I'm doing wrong?...

Thank you 

Link to comment
Share on other sites

When you do that (make an Image with its constructor and set its src property) you have to wait for it to load before doing anything with it. Stick an "onload" handler on that Image instance with code that adds it to the cache, you should be good.

data.onload = function() { ... }

 

Link to comment
Share on other sites

On 2/4/2016 at 5:34 PM, mattstyles said:

What does BitmapData look like?

If its a URL then you'd have to wait for it to load before using it by adding a load event listener to your newly created image object.

my bitmap looks like a string (data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eH....)

I upload it with Javascript... 

 

On 2/4/2016 at 10:40 PM, drhayes said:

When you do that (make an Image with its constructor and set its src property) you have to wait for it to load before doing anything with it. Stick an "onload" handler on that Image instance with code that adds it to the cache, you should be good.


data.onload = function() { ... }

 

how can I pass the scope in the function?

Link to comment
Share on other sites

I've changed the code, now I don't get any image... :blink: 

    loadUploadedImg: function(BitmapData){
        var data = new Image();
        data.src = BitmapData;
        this.game.cache.addImage("userImage", BitmapData, data);
        
        data.onload = function() {
            var src = parent.GameState.loadImgFromCache(this);
        }
        data.onerror = function() {
            console.log(this);
        }
    },
    
    loadImgFromCache: function(BitmapData){
        console.log(this.game.cache.getImage("userImage").width,this.game.cache.getImage("userImage").height);
        
        this.userPic = this.game.add.sprite(0, 0, "userImage");
        this.userPic.anchor.set(0.5);
        
        console.log("loadImgFromCache",BitmapData,this.userPic);
       
    }

I do get the width and height of the cached image... 

Link to comment
Share on other sites

I'm not a Phaser user so I'm not sure on the internals, but what happens if you add the image to the cache inside the onLoad handler? (I'm just thinking that I've seen that pattern mentioned before), although it does sound odd that you got it before but not now. Just as a test you could use a timeout (set to, say, 1 second or 2) rather the onLoad handler just to make sure it is loaded, obviously you'd never do this, but to test stuff its fine.

It's slightly odd to pass `this` into a function, technically its ok but its a strange pattern to use, particularly as you then mutate it by adding `userPic`, try looking up .bind to handle scope (JS scope handling can get a little hairy so do some research, too little information—i.e. the sort of stuff you'd get in a paragraph or 2—is dangerous). You can also append event listeners to the image and then just pass it a function which saves you a hop you dont need in the example above and is a cleaner pattern.

Link to comment
Share on other sites

I can't load the image on the onLoad handler because a user upload an image from his device. 
 

Now I always get the image data but can't show the image... 

What I get:

data:image/jpeg;base64,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

 

Link to comment
Share on other sites

Also, when I try to add the image-data without uploading - i see it only when i refresh without clearing the cache. when I do clean the cache i don't see it... 

    preload: function() {  
        var dataURI = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQECWAJYAAD/4QBKRXhpZgAASUkqAAgAAAADABoBBQABAAAAMgAAABsBBQABAAAAOgAAACgBAwABAAAAAgBhAAAAAAAARsMjQEIPAABGwyNAQg...';
        var data = new Image();
        data.src = dataURI;
        this.game.cache.addImage('image-data', dataURI, data);

    },

    create: function() {
        
        this.game.add.sprite(0, 400, 'image-data');
}

 

Link to comment
Share on other sites

I mean, you just tell Phaser about the image after it has loaded.

It just sounds like you add the image to the cache too early, which means you add it when it is not an image (how exactly this works is up to Phaser, but Pixi does the same thing so it probably defers to the Pixi sprite).

When you run the code the first time, the browser stuffs the image into cache, so, the next time you run without a cache clear it is instantaneous, so you see your image. When you clear the cache it takes a bit of time so you dont see it.

Literally just move `game.cache.addImage` into the onload handler and it looks like it will work (based on what you've said).

It doesnt matter if the user has uploaded the image or not, the steps are the same, load the image first then stuff it into Phaser. I did check the Phaser docs (never done it myself as I have my own asset loader), http://phaser.io/docs/2.4.4/Phaser.Cache.html#addImage and they agree with the sentence above.

Quote

The file must have already been loaded, typically via Phaser.Loader, but can also have been loaded into the DOM

Load, then stuff into Phaser. Currently I think you are simply adding the image too early.

 

 

Link to comment
Share on other sites

  • 2 weeks later...

See my example... you can load the image when you want (without use the preload function)

{
  ...
  var loader = new Phaser.Loader(this.game); 
  loader.image('myImage', 'base64...');
  loader.onLoadComplete.addOnce(this.loadImageComplete, this);
  loader.start();
},
loadImageComplete: function(){
  this.game.add.sprite(x, y, 'myImage');
}

Regards, Nicholls

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...