I am trying to scale my image using GPUImage, here is my code:
float largerDimension = MAX(img.size.width, img.size.height);
if(largerDimension > 1024){
float scaleRatio = 1024 / largerDimension;
GPUImageTransformFilter *xff = [[GPUImageTransformFilter alloc] init];
xff.affineTransform = CGAffineTransformMakeScale(scaleRatio, scaleRatio);
img = [xff imageByFilteringImage:img];
}
I'm expecting the filter to scale my image, but instead, it's cropping the middle of the image. What am I doing wrong?
Instead of using a transform filter, I've achieved the desired effect using using plain GPUImageFilter
and forceProcessingAtSize:
method, providing the exact dimensions of my desired output.