Comments (3)
Yeah this isn't possible. We'll find a way to handle this more elegantly though!
from phaser.
I've added some checks to getPixel
and getPixelAlpha
to ensure they fail gracefully, rather than throwing exceptions.
The "impossibility" is because these methods work by drawing the texture to a 1x1 canvas, then pulling the canvas data and extracting the color channels. But a canvas can only accept data from sources compatible with the DOM: Image, Canvas, and Video. Other texture sources, such as compressed textures, render textures (using framebuffers under WebGL), etc will be rejected by the browser's Canvas API.
There are other ways to do this, but they're more complex and Phaser hasn't got them yet. A roundabout hack might be to use a RenderTexture
and take a snapshot, which can pass the data back out to a DOM-compatible Image, although I haven't tested this.
For now, 0a2bede checks whether the texture source is DOM-compatible. That should give you enough to check validity yourself while we put together the next release.
from phaser.
Awesome, thanks!
from phaser.
Related Issues (20)
- Unload asset pack HOT 1
- `Friction` property does not work with `.setDirectionControl()` method HOT 1
- Post FX Blur With Mask on Graphics Loses Position/Scale on Resize HOT 7
- Allow overriding `contextRestoredHandler` in WebGLRenderer so we can control when a restore is called
- game focus not work when use inside iframe
- A project launched using the Vue3 template, I don't know why it keeps repeatedly rendering the DOM HOT 1
- `getPipelineName()` errors with the Canvas renderer HOT 1
- scene plugin install failure HOT 4
- Nineslice objects
- Nineslice object bug
- Inconsistent Versioning and the Case for Adopting SemVer HOT 2
- Creating a dynamic texture from an image with preFX has wrong dimensions and coordinates HOT 1
- BitmapText setMaxWidth() bug
- Angle and rotation animations with tweens and scene update are smoother in 3.60 than 3.80 HOT 4
- Camera shaking HOT 1
- ConicGradient feature is very important HOT 1
- Meshes are missing parts when multiple batches are needed to render scene
- DomElement position is not kept correctly in the scene when a camera zooms out HOT 1
- [Input] disableInteractive() with NOT topOnly case
- SceneManager.getScene has wrong return type in ts definition
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phaser.