Although what you are doing is correct, you are using an old UIKit function to create your bitmap context.
To scale your bitmap context for retina screens you should use this function instead:
void UIGraphicsBeginImageContextWithOptions(
CGSize size,
BOOL opaque,
CGFloat scale
);
So you need to replace this line of code:
UIGraphicsBeginImageContext(baseIgv2.bounds.size);
With this:
UIGraphicsBeginImageContextWithOptions(baseIgv2.bounds.size, YES, 0.0);
More info about the function and it's parameters: