Get the image frame size as per the image size ratio :
-(CGRect)imagePosition:(int)imgWidth forImageHeight:(int)imgHeight maxFrame:(CGRect) rect
{
float xPos=rect.origin.x, yPos=rect.origin.y;
int maxWidth=rect.size.width;
int maxHeight=rect.size.height;
float imgCWidth=imgWidth;
float imgCHeight=imgHeight;
float ratio=0;
if(imgCHeight>0)
ratio=(float)imgCHeight/(float)imgCWidth;
if(imgCWidth>imgCHeight)
{
if(imgCWidth>maxWidth)
{
imgCWidth=maxWidth;
imgCHeight=imgCWidth*ratio;
}
if(imgCHeight>maxHeight)
{
imgCHeight=maxHeight;
imgCWidth=imgCHeight/ratio;
}
}
else
{
if(imgCHeight>maxHeight)
{
imgCHeight=maxHeight;
imgCWidth=imgCHeight/ratio;
}
if(imgCWidth>maxWidth)
{
imgCWidth=maxWidth;
imgCHeight=imgCWidth*ratio;
}
}
maxWidth=imgCWidth;
maxHeight=imgCHeight;
if(imgCWidth<=imgWidth && imgCHeight<=imgHeight)
{
imgWidth=imgCWidth;
imgHeight=imgCHeight;
}
int oMaxWidth=rect.size.width;
int oMaxHeight=rect.size.height;
xPos+=(oMaxWidth-imgWidth)/2;
if(imgHeight>oMaxHeight)
{
yPos+=(oMaxHeight-imgHeight)/2;
}
else
{
yPos+=(oMaxHeight-imgHeight)/2;
}
return CGRectMake(xPos,yPos,imgWidth,imgHeight);
}
Get Thumbnail of PDF
ReplyDelete- (UIImage *)imageFromPDFWithDocumentRef:(NSString*)pFilePath
{
NSURL *urlpdf = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:pFilePath ofType:@"pdf"]];
CGPDFDocumentRef thePdf = CGPDFDocumentCreateWithURL((CFURLRef)urlpdf);
CGPDFPageRef pageRef = CGPDFDocumentGetPage(thePdf, 1);
CGRect pageRect = CGPDFPageGetBoxRect(pageRef, kCGPDFCropBox);
UIGraphicsBeginImageContext(pageRect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, CGRectGetMinX(pageRect),CGRectGetMaxY(pageRect));
CGContextScaleCTM(context, 1, -1);
CGContextTranslateCTM(context, -(pageRect.origin.x), -(pageRect.origin.y));
CGContextDrawPDFPage(context, pageRef);
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGPDFDocumentRelease(thePdf);
CGFloat theOffset = 0.0;
//Resize Image
CGImageRef imageRef = CGImageCreateWithImageInRect([finalImage CGImage], CGRectMake(theOffset, theOffset, 200.0-theOffset*2.0, 176.0-theOffset*2.0));
UIImage *finalcroppedImage = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
return finalcroppedImage;
}
Thanks Urmil..
ReplyDelete