0

この質問が何度も出されたことは知っていますが、UIImage がまだぼやけている理由がわかりません。

私がやったこと:

  • UIImagePicker から画像をインポートします。
  • ここのコードに従って画像のサイズを変更します: http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/
  • UIImage を保持するために、initWithImage で UIImage を初期化しました。これをサブビューとして追加し、フレーム CGRectIntegral(frame) を作成して、すべてのフレームの座標が整数であることを確認しました。

それにもかかわらず、画面に表示される UIImage はまだ少しぼやけています。私が間違っていることはありますか?

コード:

UIImage *gotImage = [info objectForKey:UIImagePickerControllerOriginalImage];

float scale = (self.view.frame.size.width)/(imageToResize.size.width);
imageToResize = [imageToResize resizedImage:CGSizeMake(scale * imageToResize.size.width, scale * imageToResize.size.height) interpolationQuality:kCGInterpolationHigh];

UIImageView *background = [[UIImageView alloc] initWithImage:imageToResize];
background.contentMode = UIViewContentModeScaleAspectFit;
background.frame = CGRectIntegral(background.frame);
[self.view addSubview:background];
4

2 に答える 2

0

それを理解することができました - 私は2行を追加しました:

UIImage *gotImage = [info objectForKey:UIImagePickerControllerOriginalImage];

float scale = (self.view.frame.size.width * [[UIScreen mainScreen] scale] )/imageToResize.size.width; //Changed line
imageToResize = [imageToResize resizedImage:CGSizeMake(scale * imageToResize.size.width, scale * imageToResize.size.height) interpolationQuality:kCGInterpolationHigh];

UIImage *testImage = [UIImage imageWithCGImage:blurredImage.CGImage scale:[[UIScreen mainScreen] scale] orientation:blurredImage.imageOrientation]; //Changed line
UIImageView *background = [[UIImageView alloc] initWithImage:testImage]; 

background.contentMode = UIViewContentModeScaleAspectFit;
background.frame = CGRectIntegral(background.frame);
[self.view addSubview:background];
于 2013-08-20T22:35:09.730 に答える