2009-08-13 31 views
0

私は水平方向、時には垂直方向、時には両方向に反転する必要があるBitmapオブジェクトを持っています。完全なフレームワークは、私が必要としているとおり正確にImage.RotateFlip()メソッドを持っています。残念ながら、完全なフレームワーク上で最も有用な機能のように、この方法はコンパクトなフレームワークには存在しません。これを行う簡単な方法はありますか?私が見つけた最高のものはthisでしたが、私が避けたい安全でないコードを使用しています。.NET Compact Frameworkのビットマップを反転する

編集:[OK]を、私は垂直フリップを行う必要があるいくつかの最適化を行う方法を見つけました。

+0

同じリンクでは「安全な」方法で回転します。それは、私には長すぎると思われる800x600ピクセルの画像で90degの回転を完了するのに約3分かかったと言います。私はあなたのデバイス上でそれがどのように実行し、おそらくボトルの首を探すためにそれを試してみるだろう。私の経験では、getとsetピクセルメソッドは非常に高速です。また、回転から反転までのロジックのほんの一歩です... –

+1

安全でないコードを避けるのはなぜですか?それは速いです、それは動作し、それは言語で完全に合法です。 – ctacke

答えて

2

CFはサポートしていませんが、デバイスがイメージングライブラリをサポートしている場合は、IBasicBitmapOps::FlipにP/Invokeできます。 SDFには既にOpenNETCF.Drawing.Imaging.ImageUtilsクラスにラップされています。

+0

これは私が探していたものです。安全ではないポインタ操作を使用して自分で実装しましたが、これはおそらくより安全な方法です。 – Jason

1

最近この記事を読んでいます。 90/180/270以外の回転が必要なので試したことはありませんが、回転の速い方法であると主張しています。

http://www.codeproject.com/KB/graphics/ImageRotationForCF.aspx

[編集] いまいましい、私はあなたがすでにこれを見つけた...申し訳ありませんが、正しく読み取れませんでした。

関連する問題