Giter VIP home page Giter VIP logo

Comments (6)

renjiancheng avatar renjiancheng commented on September 26, 2024 1

I finished the function with rendertexture. Thank you

from starling-framework.

PrimaryFeather avatar PrimaryFeather commented on September 26, 2024 1

Congrats! Happy to hear that. 😁

from starling-framework.

JohnBlackburne avatar JohnBlackburne commented on September 26, 2024

Have you looked at using a RenderTexture? For what you want to do it should be able to do it, and it has the advantage of being much much faster - drawing to a BitmapData is about the slowest graphics operation there is.

A RenderTexture also works very straightforwardly, while drawing to BitmapData has known bugs such as this:

airsdk/Adobe-Runtime-Support#392

It does not sound like the same bug but the underlying drawing routine which it relies on has bugs on some platforms.

The RenderTexture sample code (for the Starling sample on the website) is here

from starling-framework.

PrimaryFeather avatar PrimaryFeather commented on September 26, 2024

Having a look at the RenderTexture class is definitely a good idea, as John suggested! If you can live with its downsides (mainly that it's corrupted when the context is lost, and that you cannot read any pixel data), then this is definitely the preferred way.

However, your problem is most likely connected to the contentScaleFactor Starling is using. My guess is that the stage size is not equal to the viewport size. DisplayObject.drawToBitmapData always draws in the best possible resolution – and with a contentScaleFactor different to 1.0, this means that not all of the pixels will fit into the BitmapData instance.

Please try the following:

var scale:Number = Starling.current.contentScaleFactor;
originalBitMapData=new BitmapData(tar.width * scale, tar.height * scale);
// ...

I think that should do the trick!

from starling-framework.

renjiancheng avatar renjiancheng commented on September 26, 2024

It doesn't seem to work for me to try ‘Starling.current.contentScaleFacto’. I'm looking at render texture right now. Thank you, John

from starling-framework.

PrimaryFeather avatar PrimaryFeather commented on September 26, 2024

Hm, that's weird. There's another, internal scale factor you could try: Starling.painter.backBufferScaleFactor — if that's not it, either, then I'd need a standalone example to check out what's going on.

But, in any case, using RenderTexture would definitely be the preferred way to go, anyway.

from starling-framework.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.