0

imageView を使用して、 に画像を表示しますCALayer。を使用してスケーリング (0.2 まで) を適用した後CGAffineTransformMakeScale(scale,scale)、醜いぼやけが発生します。

変換行列は、完全な解像度でメモリのどこかに保存してそれを操作するのではなく、実際に画像に影響を与えるようです。
その画像のディテールをくっきりと保つにはどうすればよいでしょうか?

ありがとう!

EDIT:

要求されたコードは次のとおりです

オブジェクトは から継承されCALayerます。

theScale = 0.2;
trans  = CGAffineTransformMakeScale(theScale,theScale);
[self setAffineTransform:trans];

後でコードで:

theScale = 1.0;
trans  = CGAffineTransformMakeScale(theScale,theScale);
[self setAffineTransform:trans];
4

1 に答える 1

3

問題が縮小時のぼやけである場合は、CGContextSetInterpolationQuality(context, kCGInterpolationHigh); を設定してみましたか? あなたの変換を行う前に?

問題が拡大中のピクセル化である場合回避策は、代わりに解像度の高い画像を使用して縮小することです。

于 2012-06-28T08:42:20.763 に答える