2013-08-07 2 views
0

문제 monotouch의 색상 조합 및 이미지 품질을 유지하여 그것이 jQuery과 셀의 경계에 적합합니다이미지 스케일링,

내가 사용한 이미지 크기 조정에 대한 코드를 다음과가 monotouch에있는 UITableViewCell의 경계에 적합하게 이 코드는 이미지 크기를 조정하고 있지만 색상 조합을 유지하지 않는 이미지 색상을 희미하게 만듭니다. 더 나은 솔루션을 제공해주세요.

코드 :

공공 정적있는 UIImage 스케일 (있는 UIImage 소스, SizeF newSize와) { UIGraphics.BeginImageContext (newSize와); var context = UIGraphics.GetCurrentContext(); context.TranslateCTM (0, newSize.Height); context.ScaleCTM (1f, -1f); 귀하의 요구를 들어 아이폰 OS here

에 UIView의 모든 ContentMode에 대해 읽어

 context.DrawImage (new RectangleF (0, 0, newSize.Width, newSize.Height), source.CGImage); 

     var scaledImage = UIGraphics.GetImageFromCurrentImageContext(); 
     UIGraphics.EndImageContext(); 

     return scaledImage;   
    } 

답변

0

당신은 '당신의 천국 이후, 나는 샘플 코드와 함께 당신을 도울 질수

을 UIViewContentModeScaleAspectFit하는 ContentMode 속성을 설정해야합니다 Tablet을 채우는 방법에 대한 코드는 &으로 제공됩니다.

+0

저는 contentMode 속성에 대해 알고 있습니다.하지만 scaleAspectToFit을 사용하면 셀을 완전히 채우지 못합니다. ScaleAspect 채우기를 사용하고 bounds 속성을 true로 설정하면 이미지의 헤드 부분이 커팅됩니다. 따라서 contentMode 속성을 사용할 수 없습니다. . 다른 해결책이 있습니까? –

1

UIImage을 원하는 경우 this method을 참조하십시오. 그것은 잘 작동합니다. 모든 GetCell에서 이미지 크기 조정을 피하려면 메소드의 결과를 파일 시스템에 캐시해야합니다.

소스 이미지가 UITableViewCellUIImageViews와 같거나 거의 같은 크기 인 경우 Moppy Sheth 솔루션 설정이 ContentMode 인 것이 가장 좋습니다. 원본 이미지의 크기가 UIImageView 초보다 많고 UITableViewCell이면 스크롤 속도가 느려집니다.

+0

또한 UITableView 셀의 경계에 맞게 만들고 싶습니다. –

+1

당신은'UITableVewCell'의'ContentView'에 접근 할 수 있습니다. 'UIImageView'를'ContentView' ('AddSubview()'메소드)에 넣고'ContentView' 프레임에 따라 프레임을 설정하십시오. –

관련 문제