私はしばらくの間monoを使用してきましたが、私が遭遇した問題の1つは、画像をCGImageオブジェクトにロードすると、画像が垂直方向に反転してしまうことでした。これは私が最初に使用していたコードでした:
public static CGImage LoadJPEG (string sImagePath, bool bSmoothImage)
{
return CGImage.FromJPEG (
new CGDataProvider (sImagePath), null, bSmoothImage,
CGColorRenderingIntent.Default);
}
代わりにCGImage.FromPNGを使用するだけのPNGバージョンがありますが、間違った形式と間違ったファイルタイプを使用すると、例外が発生します。私は自分のファイルタイプが何であるかを常に知っているので、その例外を防ぐためにキャッチ/チェックを入れませんでした。
このコードを使用するだけで画像が垂直方向に反転することに気付くでしょう。monoがこれを行う理由を説明できず、修正するのを楽しみにしていなかった解決策のいくつかを見てみましょう。
では、どのように元に戻すのですか?幸いなことに、私は自分でそれに答えることができますが、それが「正しい」方法であることを保証することはできません。