0

200x200 ピクセルのサムネイルを表示したい非常に大きな画像があります (画像全体のストレッチ バージョンではなく、画像の一部を表示します)。これを達成するために、CIImage.ImageByCroppingToRect または CICrop の使用を検討していますが、有用なものを得ることができません。結果はただの黒 (私が見ているのはトリミングされた画像の黒い部分だと思います) か、SIGABRT (「指定された GLES コンテキストでは (6000 x 3000) サイズのテクスチャを処理できません!」) が発生します。

このスレッドに ObjC のサンプルがあります: Cropping CIImage with CICrop is not working correctly

しかし、それを C# に変換して正しく動作させることはできませんでした。

4

1 に答える 1

3

あなたが言及した投稿からの回答のMonoTouchポートは次のとおりです。

var croppedImaged = CIImage.FromCGImage (inputCGImage).ImageByCroppingToRect (new RectangleF (150, 150, 300, 300));              
var transformFilter = new CIAffineTransform();
var affineTransform = CGAffineTransform.MakeTranslation (-150, 150);
transformFilter.Transform = affineTransform;
transformFilter.Image = croppedImaged;           
CIImage transformedImage = transformFilter.OutputImage;
于 2012-04-29T01:29:17.353 に答える