0

sfml 1.6 Sprite.Resize(x、y)関数を使用してスプライトのサイズを変更しようとすると、そのサイズにするために必要な回数だけ、右端と下側にあるものがコピーされます。実際に画像を拡大縮小する方法はありますか?私は30x30の画像を持っており、90 x 90に再スケーリングしたいのですが、これが起こります(最初の画像は、90 x 90で、2番目は30 x 30です)。

また、私はこのコードでそれを見つけました:

    void changeI(sf::Image I,int x,int y){
        std::cout<<"h"<<std::endl;
        CI = I; // CI is another sf::Image object declared earlier in my code
        CS.SetImage(CI);
}

これに変更すると:

        void changeI(sf::Image I,int x,int y){
            std::cout<<"h"<<std::endl;
            CI = I;
            CS.SetImage(I); //changed CI to I here 

側面に奇妙なバッファが表示されている画像の代わりに、何も表示されません。

4

1 に答える 1

0

私は解決策を見つけました。これはかなり厄介なエラーです。最初にスプライトを画像に設定したときは、意図した最小のものを使用してから、好きなようにサイズを変更してください。その後、好きな画像を使用できます。これはSFMLによる単なる見落としだと思います。うまくいけば、SFML2.0で修正されるでしょう。

于 2013-03-18T15:00:32.103 に答える