2

私のアプリケーションでは、データベースから取得した画像を表示するために画像ビューを使用しました

データベース内の画像のサイズが異なります。

今のところ、フレーム付きの画像ビュー(10、10、300、220)を追加しました。

のように、画像サイズごとに画像ビューのフレームのサイズを変更する必要があります Aspect Fit.

アスペクト フィットでサイズを変更できることは知っていますが、高さの比率に応じて幅を変更します。

しかし、幅の比率に従って高さを増やす必要があります

幅を常に 300 に固定する必要がありますが、高さを変更する必要があります

例:

 if image size is 500x1000 i need to resize imageview as 300x600
 if image size is 400x600 i need to resize imageview as 300x450
4

2 に答える 2

3

要件を満たす次のコード スニペットを使用できます。

-(UIImage *)adjustImageSizeWhenCropping:(UIImage *)image
{

    float actualHeight = image.size.height;

    float actualWidth = image.size.width;



    float ratio=300/actualWidth;
    actualHeight = actualHeight*ratio;

    CGRect rect = CGRectMake(0.0, 0.0, 300, actualHeight);
    // UIGraphicsBeginImageContext(rect.size);
    UIGraphicsBeginImageContextWithOptions(rect.size, NO, 1.0);
    [image drawInRect:rect];
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return img;


}
于 2013-09-13T07:27:37.983 に答える