SORU
1 EKİM 2008, ÇARŞAMBA


Bir Uİİmage kırpma

Bende bazı kod yeniden boyutlandırır bir görüntü yani küçültülmüş bir yığın merkezinin resmi kullanıyorum bu bir UIImage ve bir dönüş küçük, kare temsili bir resim, benzeri ne görülmüş albüm görünümü Fotoğraflar uygulaması. (UIImageView kullanım ve kırpma modu aynı sonuçları elde etmek için ayarlamak olabilir biliyorum, ama bu görüntüler bazen ** 3) görüntülenir.

Bu kod bazı çöker fark etmeye başladım ve biraz şaşırdım. İki farklı teori var ve eğer ya da baz olup olmadığını merak ediyorum.

Teori 1) ben benim hedef boyutu ekran görüntü içerik çizerek kırpma ulaşmak. Görüntünün orta bölümünü istiyorum beri, CGRect bağımsız görüntü içeriği sınırları daha büyük bir şey için drawInRect geçti kurdum. Bu doğruydu umuyordum, ama onun yerine dokunmamalıyım diğer bellek üzerinde çizmeye çalışıyor muyum?

Teori 2) bir arka plan iş parçacığı bütün bunları yapıyorum. Ana konuya kısıtlanan UİKit bölümleri olduğunu biliyorum. / Ekran görünümü çizim bunlardan biri olmadığını umarak tahmin ettim. Yanılıyor muyum?

(Nasıl da özledim 6* *yöntem.)

CEVAP
3 NİSAN 2009, Cuma


Güncelleme 2014-05-28: ya bu yüzden iOS 3 sıcak yeni bir şey olduğu zaman, daha iyi yollar şimdiye kadar bunu yapmak için, muhtemelen yerleşik vardır eminim bu yazdım. Birçok kişinin de belirttiği gibi, bu yöntem dikkate dönme almaz; bazı ek cevapları okudum ve bazı upvote aşk bu soru herkes için yararlı yanıtları tutmak için etrafında yayılmış.

Orijinal yanıtı:

Aynı soruya cevabım başka bir yerde kopyala yapıştır yapacağım:

Bunu yapmak için basit bir sınıf bir yöntem yok, ama istenen sonuçları elde etmek için kullanabileceğiniz bir işlevi vardır: CGImageCreateWithImageInRect(CGImageRef, CGRect) size yardımcı olacaktır.

Burada kısa bir örnek kullanma

CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);
// or use the UIImage wherever you like
[UIImageView setImage:[UIImage imageWithCGImage:imageRef]]; 
CGImageRelease(imageRef);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • magnum33563

    magnum33563

    8 NİSAN 2011
  • Professor Messer

    Professor Me

    27 NİSAN 2007
  • SoundHound

    SoundHound

    8 Mart 2006