4 Stimmen

Thumbnail-Ansicht der Bilder

Ich möchte einige Bilder als Thumbnail in View-Controller zeigen, aber ich weiß nicht, wie dies zu tun. Kann jemand bitte geben Sie mir einige Ideen oder Beispielcode, wenn möglich.

36voto

Tyler Punkte 27980

Fragen Sie, wie man Miniaturansichten aus größeren Bildern erstellt, oder wie man einen View-Controller baut, der sie schön anzeigt?

Aufbau eines View-Controllers:

Sie könnten verwenden TTPhotoViewController von das Projekt Three20 ( Beschreibung ), die ähnlich wie die integrierte Kamerarolle des iPhones funktioniert, um Bilder anzuzeigen.

Sie können sich ansehen die Scrolling Beispielcode von Apfel, genannt in diese Frage zur Verwendung für Miniaturansichten .

Wenn Sie ein solches Gerät selbst bauen wollen, können Sie ein GridView von die moriarty-bibliothek entweder als großes Gitter in einer UIScrollView oder auf einer effizienteren zeilenweisen Basis in einer UITableView . Es gibt eine frühere Frage zu optimiertes Laden von Bildern in einer UIScrollView .

Erstellen von Miniaturbildern aus größeren Bildern:

Der einfachste Weg, ein Bild zu verkleinern, besteht darin, es einfach in einer UIImageView mit einem Rahmen, der auf die gewünschte Größe eingestellt ist - er wird für Sie skaliert.

Wenn Sie eine Miniaturansicht speichern möchten oder sich um die Speichernutzung sorgen, können Sie eine hart skalierte Version erstellen. Der folgende Beispielcode stammt aus dieser Blogbeitrag und kann hinzugefügt werden zu UIImage als eine Kategorie-Methode:

- (UIImage*) imageScaledToSize: (CGSize) newSize {
  UIGraphicsBeginImageContext(newSize);
  [self drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
  UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();

  return newImage;
}

Zum Schluss noch eine frühere Frage zu Maskieren von runden Ecken in einem Bild ähnlich wie die App-Symbole auf dem Startbildschirm.

Hinzugefügt

Verwendung der integrierten Miniaturansicht eines Bildes:

Es gibt eine nette Funktion namens CGImageSourceCreateThumbnailAtIndex das integrierte Miniaturansichten in bestimmten Bilddatenformaten versteht. Einige nützliche Codebeispiele hierfür finden Sie unter Erstellen eines Miniaturbildes aus einer Bildquelle en das Image I/O Programmierhandbuch von Apple.

0voto

Amagrammer Punkte 6410

Es gibt mehrere Probleme mit Miniaturansichten; vielleicht könnten Sie klären, welche Ihnen am meisten Sorgen bereiten?

  1. So zeigen Sie eine kleinere Version eines vorhandenen Bildes an

  2. Beschleunigung des Seitenwechsels durch Zwischenspeichern der Miniaturansichten (anstatt die Originale dynamisch zu verkleinern)

  3. Wie kann man dem Benutzer erlauben, durch die Miniaturbilder zu blättern?

  4. Wie synchronisiert man die Vorschaubilder mit den Originalen, falls die Bilder bearbeitet werden können oder der Benutzer sie ergänzen kann?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X