2011-08-03 12 views
5

Kaydetmek için ekran görüntüsünü almaya çalışıyorum ama sadece ekranı tam olarak gösterebilirim. Kısmi ekran görüntüsü almanın bir yolu var mı?iPad'de kısmi bir görüntüyü ekrana getirme

İşte bir örnek. Sadece kırmızıyla vurgulanan bölümün ekran görüntüsünü almak istediğimi söyle. Yardım için teşekkürler. oradaki web görünümünün bir ekran istedikleri gibi

http://img197.imageshack.us/img197/6499/sampleimagez.jpg

+2

Ekrandan bir UIImage oluşturun ve o görüntünün çerçevesinin boyutuna kırpın. – runmad

+0

Bu konuya bir göz atın: http://www.iphonedevsdk.com/forum/iphone-sdk-development/74659-partial-screenshot.html Ayrıca, bir kullanıcı adı seçmek için çekinmeyin. StackOverflow'a hoş geldiniz! – Moshe

+0

@ j0k - Bir kullanıcı adı seçmeyen yeni hesaplara bir numara verilir. – Moshe

cevap

4

görünüyor.

- (UIImage*)captureView:(UIView*)view 
{ 
    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) 
     UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, [UIScreen mainScreen].scale); 
    else 
     UIGraphicsBeginImageContext(self.view.bounds.size); 

    CGContextRef context = UIGraphicsGetCurrentContext(); 

    [view.layer renderInContext:context]; 

    UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return img; 
} 

Sadece bu işleve web görünümü geçmesi ve çalışması gerekir: Belirli bir görünümün resmini ve yalnızca bu görünümü (+ subviews) almak istiyorsanız, aşağıdaki kodu kullanabilirsiniz.

DÜZENLEME: bu sadece bir örnek görüntü ve sen kendi görünümünde yer verilmeyen bir alanda, Kanada Dev'in solüsyonu ile gitmek bir ekran istiyorum varsayarsak

. Resmi istediğiniz bölgeye göre kırpın.

+0

Bu görünümde olmayan ana görünümün alt görünümlerini yakalamıyor gibi görünüyor. – MikeN

+0

Ne demek istiyorsun? –

+0

Eğer birbiri üzerine iki farklı görünüm varsa, ben bu görüntülerin kesiştiği bir ekran görüntüsünü almak istiyorum (son kullanıcı için son olarak görünen ekran alanı). Bu kod sadece görüntüyü bu alt görüntülerden birinden alacaktır. OSX'in "rubberband" ekran görüntüsü gibi davranmasını istiyorum. – MikeN