2010-04-16 1 views
2

Хорошо, поэтому я снимаю снимок с фотографии, которую я взял с моей камерой на iPhone. Я положил фотографию камеры в UIImageView и захватить скриншот его с помощью такого рода кода (это от http://www.skylarcantu.com/blog/2009/10/16/saving-a-view-as-an-image/) ...UIGraphicsGetImageFromCurrentImageContext дает изображение низкого качества/низкого разрешения, как мне стать лучше?

- (void)takeScreenshot { 

    UIWindow *theScreen = [[UIApplication sharedApplication].windows objectAtIndex:0];  
    UIGraphicsBeginImageContext(theScreen.frame.size); 
    [[theScreen layer] renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();  
    UIGraphicsEndImageContext();    
    [self doSomethingWith:screenshot]; 
} 

У меня он работает, как я хочу, но качество изображения скриншота гораздо хуже, чем изображение, которое я снимаю с помощью своей камеры. Есть ли способ преодолеть это? Я думаю, это потому, что это снимает скриншот, который фиксирует разрешение экрана iPhone, а не разрешение камеры - может быть ?!

Любые предложения были бы замечательными :-)

ответ

1

Вы совершенно правы. Разрешение экрана (320 x 480) намного меньше, чем у камеры (1200 x 1600 на 3G, 1536 x 2048 на 3GS), поэтому ваш UIImageView должен быть 320x480, и он автоматически уменьшает ваше изображение до соответствия. Это кажется запутанным, хотя - у вас уже есть фотография как UIImage при более высоком разрешении - вы пытаетесь наложить на нее что-то или что-то еще?

+0

Да, это точно, могу ли я наложить что-то, не потеряв разрешение? – user157733

+1

Нет, боюсь, это будет сложнее. Вам нужно будет вызвать UIGraphicsBeginImageContext() с размером вашего оригинального изображения камеры, сделать drawAtPoint в нем, а затем нарисовать другие вещи в том же контексте. Затем в конечном итоге вы вызовете UIGraphicsGetImageFromCurrentImageContext(), чтобы получить новое составное изображение. –

+0

Хорошо, спасибо за головы, я посмотрю. Эти вещи никогда не так просты, как я думаю, они будут! – user157733