Cursor Projektpraxis-01: Screenshots von bestimmten Bildschirmbereichen in GIF-Animationen umwandeln

Projektbeschreibung

Dies ist ein Praxisprojekt mit Cursor, das in Python implementiert wurde. Es dient dazu, Screenshots in GIF-Bilder umzuwandeln, um Ergebnisse oder Beispiele zu präsentieren.

Ergebnispräsentation

screentogif_20250706_171615.gif

Vorbereitungen

  • Cursor

    • Version: 1.2.1
    • Cursor-Regeln: Cursor Rules
    • Agent: claude-4-sonnet-thinking
  • Gesamtprozess

    • Cursor-Regeln festlegen -> Anforderungen beschreiben -> Codierung mit Cursor -> Git-Versionsverwaltung -> Debugging und Ausgabe

Projektschritte

  1. Anforderungen analysieren und Projektverzeichnis mit Cursor generieren. Die Anforderungen lauten wie folgt:
## Entwickeln Sie ein Python-Programm, das Screenshots in GIF-Bilder umwandelt
1. Das Programm soll einen bestimmten Bildschirmbereich (per Mausauswahl) aufnehmen und die Bilder im Webp-Format speichern
2. Bilder komprimieren und GIF-Animationen generieren
3. Eine Oberfläche zur Einstellung der Komprimierungsrate, Bildrate und Speicherpfads bereitstellen

## Anforderungen
1. Nur die notwendigsten Funktionen, keine zusätzlichen Features
2. Da ein Mac verwendet wird, ist auf die Bildschirmskalierung zu achten

  1. Projektverzeichnis erstellen, Eingabeaufforderung:

    Analyze the requirement.md documents and start project writing

    image.png

  2. Projektdokumentation generieren

image.png

  1. Virtuelle Umgebung und Abhängigkeiten installieren

image.png

  1. Grundgerüst und Oberflächenfunktionen fertigstellen

image.png

  1. Bereichsauswahlfunktion noch nicht implementiert. Weiterentwicklung vorantreiben

image.png

  1. Fertigstellung

image.png

  1. Generierte Bilder zu groß, weitere Bearbeitung erforderlich

image.png

Problemprotokoll

  • Problem 1

    • Problem: Die Grafikauswahl erfolgt über die Kommandozeile, nicht über eine grafische Oberfläche.
    • Lösung: Direkte Anpassung durch Cursor mit dem Hinweis auf eine grafische Oberfläche
  • Problem 2

    • Problem: Unpräzise Anforderungsbeschreibung führt zu Funktionserweiterungen
    • Lösung: Hintergrundinformationen ergänzen und präzise Funktionsbeschreibungen verwenden
  • Problem 3

    • Problem: Deutliche Leistungsunterschiede zwischen claude-4-sonnet und claude-4-sonnet-thinking. Ersteres benötigte eine Stunde ohne Ergebnis, letzteres löste das Problem in 5 Minuten mit 3 Anfragen.
    • Lösung: Für komplexe Probleme oder Lösungsanalysen thinking-Version bevorzugen

Nutzungserfahrungen

  1. In den Regeln wurde die Datumsabfrage hinzugefügt, um nicht nur das Modell-Datum zu verwenden.
  2. Bei Python-Programmen wurden Regeln für die Erstellung virtueller Umgebungen ergänzt, um Konflikte zwischen Projekten zu vermeiden