Resize and saving an image to disk in Monotouch

Posted by Chris S on Stack Overflow See other posts from Stack Overflow or by Chris S
Published on 2010-03-10T15:12:29Z Indexed on 2010/03/16 13:06 UTC
Read the original article Hit count: 698

Filed under:
|
|
|

I'm trying to resize an image loaded from disk - a JPG or PNG (I don't know the format when I load it) - and then save it back to disk.

I've got the following code which I've tried to port from objective-c, however I've got stuck on the last parts. Original Objective-C.

This may not be the best way of achieving what I want to do - any solution is fine for me.

int width = 100;
int height = 100;

using (UIImage image = UIImage.FromFile(filePath))
{
    CGImage cgimage = image.CGImage;
    CGImageAlphaInfo alphaInfo = cgimage.AlphaInfo;

    if (alphaInfo == CGImageAlphaInfo.None)
        alphaInfo = CGImageAlphaInfo.NoneSkipLast;

    CGBitmapContext context = new CGBitmapContext(IntPtr.Zero,
        width,
        height,
        cgimage.BitsPerComponent,
        4 * width,
        cgimage.ColorSpace,
        alphaInfo);

    context.DrawImage(new RectangleF(0, 0, width, height), cgimage);

    /*
    Not sure how to convert this part:

    CGImageRef  ref = CGBitmapContextCreateImage(bitmap);
    UIImage*    result = [UIImage imageWithCGImage:ref];

    CGContextRelease(bitmap);   // ok if NULL
    CGImageRelease(ref);
    */
}

© Stack Overflow or respective owner

Related posts about monotouch

Related posts about uiimage